<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Navo Portable Library: navo/algorithm/crypto/symmetric/aes.c源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- 制作者 Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Navo Portable Library&#160;<span id="projectnumber">Ver 1.0.20120827</span></div>
   <div id="projectbrief">Provides generic platform independent facilities.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>首页</span></a></li>
      <li><a href="modules.html"><span>模块</span></a></li>
      <li><a href="annotated.html"><span>数据结构</span></a></li>
      <li class="current"><a href="files.html"><span>文件</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="搜索" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>文件列表</span></a></li>
      <li><a href="globals.html"><span>全局定义</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>navo/algorithm/crypto/symmetric/aes.c</h1>  </div>
</div>
<div class="contents">
<a href="aes_8c.html">浏览该文件的文档。</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */</span>
<a name="l00011"></a>00011 <span class="preprocessor">#ifdef _MSC_VER</span>
<a name="l00012"></a>00012 <span class="preprocessor"></span><span class="preprocessor">#pragma optimize(&quot;t&quot;, on)</span>
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="preprocessor">#endif  </span><span class="comment">/* #ifdef _MSC_VER */</span>
<a name="l00014"></a>00014 
<a name="l00015"></a>00015 <span class="preprocessor">#include &quot;<a class="code" href="aes_8h.html" title="AES.">aes.h</a>&quot;</span>
<a name="l00016"></a>00016 <span class="preprocessor">#include &quot;<a class="code" href="endian_8h.html" title="Definitions for byte order.">../../../port/endian.h</a>&quot;</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
<a name="l00020"></a>00020 <span class="preprocessor">#endif </span><span class="comment">/* #ifdef __cplusplus */</span>
<a name="l00021"></a>00021 
<a name="l00022"></a>00022 <span class="keyword">static</span> <span class="keyword">const</span> uint32_t RCO_TBL[10] = {
<a name="l00023"></a>00023     1, 2, 4, 8, 16, 32, 64, 128, 27, 54
<a name="l00024"></a>00024 };
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="keyword">const</span> uint32_t FT_TBL[4][256] = {
<a name="l00027"></a>00027     {
<a name="l00028"></a>00028         0xa56363c6UL, 0x847c7cf8UL, 0x997777eeUL, 0x8d7b7bf6UL,
<a name="l00029"></a>00029         0x0df2f2ffUL, 0xbd6b6bd6UL, 0xb16f6fdeUL, 0x54c5c591UL,
<a name="l00030"></a>00030         0x50303060UL, 0x03010102UL, 0xa96767ceUL, 0x7d2b2b56UL,
<a name="l00031"></a>00031         0x19fefee7UL, 0x62d7d7b5UL, 0xe6abab4dUL, 0x9a7676ecUL,
<a name="l00032"></a>00032         0x45caca8fUL, 0x9d82821fUL, 0x40c9c989UL, 0x877d7dfaUL,
<a name="l00033"></a>00033         0x15fafaefUL, 0xeb5959b2UL, 0xc947478eUL, 0x0bf0f0fbUL,
<a name="l00034"></a>00034         0xecadad41UL, 0x67d4d4b3UL, 0xfda2a25fUL, 0xeaafaf45UL,
<a name="l00035"></a>00035         0xbf9c9c23UL, 0xf7a4a453UL, 0x967272e4UL, 0x5bc0c09bUL,
<a name="l00036"></a>00036         0xc2b7b775UL, 0x1cfdfde1UL, 0xae93933dUL, 0x6a26264cUL,
<a name="l00037"></a>00037         0x5a36366cUL, 0x413f3f7eUL, 0x02f7f7f5UL, 0x4fcccc83UL,
<a name="l00038"></a>00038         0x5c343468UL, 0xf4a5a551UL, 0x34e5e5d1UL, 0x08f1f1f9UL,
<a name="l00039"></a>00039         0x937171e2UL, 0x73d8d8abUL, 0x53313162UL, 0x3f15152aUL,
<a name="l00040"></a>00040         0x0c040408UL, 0x52c7c795UL, 0x65232346UL, 0x5ec3c39dUL,
<a name="l00041"></a>00041         0x28181830UL, 0xa1969637UL, 0x0f05050aUL, 0xb59a9a2fUL,
<a name="l00042"></a>00042         0x0907070eUL, 0x36121224UL, 0x9b80801bUL, 0x3de2e2dfUL,
<a name="l00043"></a>00043         0x26ebebcdUL, 0x6927274eUL, 0xcdb2b27fUL, 0x9f7575eaUL,
<a name="l00044"></a>00044         0x1b090912UL, 0x9e83831dUL, 0x742c2c58UL, 0x2e1a1a34UL,
<a name="l00045"></a>00045         0x2d1b1b36UL, 0xb26e6edcUL, 0xee5a5ab4UL, 0xfba0a05bUL,
<a name="l00046"></a>00046         0xf65252a4UL, 0x4d3b3b76UL, 0x61d6d6b7UL, 0xceb3b37dUL,
<a name="l00047"></a>00047         0x7b292952UL, 0x3ee3e3ddUL, 0x712f2f5eUL, 0x97848413UL,
<a name="l00048"></a>00048         0xf55353a6UL, 0x68d1d1b9UL, 0x00000000UL, 0x2cededc1UL,
<a name="l00049"></a>00049         0x60202040UL, 0x1ffcfce3UL, 0xc8b1b179UL, 0xed5b5bb6UL,
<a name="l00050"></a>00050         0xbe6a6ad4UL, 0x46cbcb8dUL, 0xd9bebe67UL, 0x4b393972UL,
<a name="l00051"></a>00051         0xde4a4a94UL, 0xd44c4c98UL, 0xe85858b0UL, 0x4acfcf85UL,
<a name="l00052"></a>00052         0x6bd0d0bbUL, 0x2aefefc5UL, 0xe5aaaa4fUL, 0x16fbfbedUL,
<a name="l00053"></a>00053         0xc5434386UL, 0xd74d4d9aUL, 0x55333366UL, 0x94858511UL,
<a name="l00054"></a>00054         0xcf45458aUL, 0x10f9f9e9UL, 0x06020204UL, 0x817f7ffeUL,
<a name="l00055"></a>00055         0xf05050a0UL, 0x443c3c78UL, 0xba9f9f25UL, 0xe3a8a84bUL,
<a name="l00056"></a>00056         0xf35151a2UL, 0xfea3a35dUL, 0xc0404080UL, 0x8a8f8f05UL,
<a name="l00057"></a>00057         0xad92923fUL, 0xbc9d9d21UL, 0x48383870UL, 0x04f5f5f1UL,
<a name="l00058"></a>00058         0xdfbcbc63UL, 0xc1b6b677UL, 0x75dadaafUL, 0x63212142UL,
<a name="l00059"></a>00059         0x30101020UL, 0x1affffe5UL, 0x0ef3f3fdUL, 0x6dd2d2bfUL,
<a name="l00060"></a>00060         0x4ccdcd81UL, 0x140c0c18UL, 0x35131326UL, 0x2fececc3UL,
<a name="l00061"></a>00061         0xe15f5fbeUL, 0xa2979735UL, 0xcc444488UL, 0x3917172eUL,
<a name="l00062"></a>00062         0x57c4c493UL, 0xf2a7a755UL, 0x827e7efcUL, 0x473d3d7aUL,
<a name="l00063"></a>00063         0xac6464c8UL, 0xe75d5dbaUL, 0x2b191932UL, 0x957373e6UL,
<a name="l00064"></a>00064         0xa06060c0UL, 0x98818119UL, 0xd14f4f9eUL, 0x7fdcdca3UL,
<a name="l00065"></a>00065         0x66222244UL, 0x7e2a2a54UL, 0xab90903bUL, 0x8388880bUL,
<a name="l00066"></a>00066         0xca46468cUL, 0x29eeeec7UL, 0xd3b8b86bUL, 0x3c141428UL,
<a name="l00067"></a>00067         0x79dedea7UL, 0xe25e5ebcUL, 0x1d0b0b16UL, 0x76dbdbadUL,
<a name="l00068"></a>00068         0x3be0e0dbUL, 0x56323264UL, 0x4e3a3a74UL, 0x1e0a0a14UL,
<a name="l00069"></a>00069         0xdb494992UL, 0x0a06060cUL, 0x6c242448UL, 0xe45c5cb8UL,
<a name="l00070"></a>00070         0x5dc2c29fUL, 0x6ed3d3bdUL, 0xefacac43UL, 0xa66262c4UL,
<a name="l00071"></a>00071         0xa8919139UL, 0xa4959531UL, 0x37e4e4d3UL, 0x8b7979f2UL,
<a name="l00072"></a>00072         0x32e7e7d5UL, 0x43c8c88bUL, 0x5937376eUL, 0xb76d6ddaUL,
<a name="l00073"></a>00073         0x8c8d8d01UL, 0x64d5d5b1UL, 0xd24e4e9cUL, 0xe0a9a949UL,
<a name="l00074"></a>00074         0xb46c6cd8UL, 0xfa5656acUL, 0x07f4f4f3UL, 0x25eaeacfUL,
<a name="l00075"></a>00075         0xaf6565caUL, 0x8e7a7af4UL, 0xe9aeae47UL, 0x18080810UL,
<a name="l00076"></a>00076         0xd5baba6fUL, 0x887878f0UL, 0x6f25254aUL, 0x722e2e5cUL,
<a name="l00077"></a>00077         0x241c1c38UL, 0xf1a6a657UL, 0xc7b4b473UL, 0x51c6c697UL,
<a name="l00078"></a>00078         0x23e8e8cbUL, 0x7cdddda1UL, 0x9c7474e8UL, 0x211f1f3eUL,
<a name="l00079"></a>00079         0xdd4b4b96UL, 0xdcbdbd61UL, 0x868b8b0dUL, 0x858a8a0fUL,
<a name="l00080"></a>00080         0x907070e0UL, 0x423e3e7cUL, 0xc4b5b571UL, 0xaa6666ccUL,
<a name="l00081"></a>00081         0xd8484890UL, 0x05030306UL, 0x01f6f6f7UL, 0x120e0e1cUL,
<a name="l00082"></a>00082         0xa36161c2UL, 0x5f35356aUL, 0xf95757aeUL, 0xd0b9b969UL,
<a name="l00083"></a>00083         0x91868617UL, 0x58c1c199UL, 0x271d1d3aUL, 0xb99e9e27UL,
<a name="l00084"></a>00084         0x38e1e1d9UL, 0x13f8f8ebUL, 0xb398982bUL, 0x33111122UL,
<a name="l00085"></a>00085         0xbb6969d2UL, 0x70d9d9a9UL, 0x898e8e07UL, 0xa7949433UL,
<a name="l00086"></a>00086         0xb69b9b2dUL, 0x221e1e3cUL, 0x92878715UL, 0x20e9e9c9UL,
<a name="l00087"></a>00087         0x49cece87UL, 0xff5555aaUL, 0x78282850UL, 0x7adfdfa5UL,
<a name="l00088"></a>00088         0x8f8c8c03UL, 0xf8a1a159UL, 0x80898909UL, 0x170d0d1aUL,
<a name="l00089"></a>00089         0xdabfbf65UL, 0x31e6e6d7UL, 0xc6424284UL, 0xb86868d0UL,
<a name="l00090"></a>00090         0xc3414182UL, 0xb0999929UL, 0x772d2d5aUL, 0x110f0f1eUL,
<a name="l00091"></a>00091         0xcbb0b07bUL, 0xfc5454a8UL, 0xd6bbbb6dUL, 0x3a16162cUL,
<a name="l00092"></a>00092     }, {
<a name="l00093"></a>00093         0x6363c6a5UL, 0x7c7cf884UL, 0x7777ee99UL, 0x7b7bf68dUL,
<a name="l00094"></a>00094         0xf2f2ff0dUL, 0x6b6bd6bdUL, 0x6f6fdeb1UL, 0xc5c59154UL,
<a name="l00095"></a>00095         0x30306050UL, 0x01010203UL, 0x6767cea9UL, 0x2b2b567dUL,
<a name="l00096"></a>00096         0xfefee719UL, 0xd7d7b562UL, 0xabab4de6UL, 0x7676ec9aUL,
<a name="l00097"></a>00097         0xcaca8f45UL, 0x82821f9dUL, 0xc9c98940UL, 0x7d7dfa87UL,
<a name="l00098"></a>00098         0xfafaef15UL, 0x5959b2ebUL, 0x47478ec9UL, 0xf0f0fb0bUL,
<a name="l00099"></a>00099         0xadad41ecUL, 0xd4d4b367UL, 0xa2a25ffdUL, 0xafaf45eaUL,
<a name="l00100"></a>00100         0x9c9c23bfUL, 0xa4a453f7UL, 0x7272e496UL, 0xc0c09b5bUL,
<a name="l00101"></a>00101         0xb7b775c2UL, 0xfdfde11cUL, 0x93933daeUL, 0x26264c6aUL,
<a name="l00102"></a>00102         0x36366c5aUL, 0x3f3f7e41UL, 0xf7f7f502UL, 0xcccc834fUL,
<a name="l00103"></a>00103         0x3434685cUL, 0xa5a551f4UL, 0xe5e5d134UL, 0xf1f1f908UL,
<a name="l00104"></a>00104         0x7171e293UL, 0xd8d8ab73UL, 0x31316253UL, 0x15152a3fUL,
<a name="l00105"></a>00105         0x0404080cUL, 0xc7c79552UL, 0x23234665UL, 0xc3c39d5eUL,
<a name="l00106"></a>00106         0x18183028UL, 0x969637a1UL, 0x05050a0fUL, 0x9a9a2fb5UL,
<a name="l00107"></a>00107         0x07070e09UL, 0x12122436UL, 0x80801b9bUL, 0xe2e2df3dUL,
<a name="l00108"></a>00108         0xebebcd26UL, 0x27274e69UL, 0xb2b27fcdUL, 0x7575ea9fUL,
<a name="l00109"></a>00109         0x0909121bUL, 0x83831d9eUL, 0x2c2c5874UL, 0x1a1a342eUL,
<a name="l00110"></a>00110         0x1b1b362dUL, 0x6e6edcb2UL, 0x5a5ab4eeUL, 0xa0a05bfbUL,
<a name="l00111"></a>00111         0x5252a4f6UL, 0x3b3b764dUL, 0xd6d6b761UL, 0xb3b37dceUL,
<a name="l00112"></a>00112         0x2929527bUL, 0xe3e3dd3eUL, 0x2f2f5e71UL, 0x84841397UL,
<a name="l00113"></a>00113         0x5353a6f5UL, 0xd1d1b968UL, 0x00000000UL, 0xededc12cUL,
<a name="l00114"></a>00114         0x20204060UL, 0xfcfce31fUL, 0xb1b179c8UL, 0x5b5bb6edUL,
<a name="l00115"></a>00115         0x6a6ad4beUL, 0xcbcb8d46UL, 0xbebe67d9UL, 0x3939724bUL,
<a name="l00116"></a>00116         0x4a4a94deUL, 0x4c4c98d4UL, 0x5858b0e8UL, 0xcfcf854aUL,
<a name="l00117"></a>00117         0xd0d0bb6bUL, 0xefefc52aUL, 0xaaaa4fe5UL, 0xfbfbed16UL,
<a name="l00118"></a>00118         0x434386c5UL, 0x4d4d9ad7UL, 0x33336655UL, 0x85851194UL,
<a name="l00119"></a>00119         0x45458acfUL, 0xf9f9e910UL, 0x02020406UL, 0x7f7ffe81UL,
<a name="l00120"></a>00120         0x5050a0f0UL, 0x3c3c7844UL, 0x9f9f25baUL, 0xa8a84be3UL,
<a name="l00121"></a>00121         0x5151a2f3UL, 0xa3a35dfeUL, 0x404080c0UL, 0x8f8f058aUL,
<a name="l00122"></a>00122         0x92923fadUL, 0x9d9d21bcUL, 0x38387048UL, 0xf5f5f104UL,
<a name="l00123"></a>00123         0xbcbc63dfUL, 0xb6b677c1UL, 0xdadaaf75UL, 0x21214263UL,
<a name="l00124"></a>00124         0x10102030UL, 0xffffe51aUL, 0xf3f3fd0eUL, 0xd2d2bf6dUL,
<a name="l00125"></a>00125         0xcdcd814cUL, 0x0c0c1814UL, 0x13132635UL, 0xececc32fUL,
<a name="l00126"></a>00126         0x5f5fbee1UL, 0x979735a2UL, 0x444488ccUL, 0x17172e39UL,
<a name="l00127"></a>00127         0xc4c49357UL, 0xa7a755f2UL, 0x7e7efc82UL, 0x3d3d7a47UL,
<a name="l00128"></a>00128         0x6464c8acUL, 0x5d5dbae7UL, 0x1919322bUL, 0x7373e695UL,
<a name="l00129"></a>00129         0x6060c0a0UL, 0x81811998UL, 0x4f4f9ed1UL, 0xdcdca37fUL,
<a name="l00130"></a>00130         0x22224466UL, 0x2a2a547eUL, 0x90903babUL, 0x88880b83UL,
<a name="l00131"></a>00131         0x46468ccaUL, 0xeeeec729UL, 0xb8b86bd3UL, 0x1414283cUL,
<a name="l00132"></a>00132         0xdedea779UL, 0x5e5ebce2UL, 0x0b0b161dUL, 0xdbdbad76UL,
<a name="l00133"></a>00133         0xe0e0db3bUL, 0x32326456UL, 0x3a3a744eUL, 0x0a0a141eUL,
<a name="l00134"></a>00134         0x494992dbUL, 0x06060c0aUL, 0x2424486cUL, 0x5c5cb8e4UL,
<a name="l00135"></a>00135         0xc2c29f5dUL, 0xd3d3bd6eUL, 0xacac43efUL, 0x6262c4a6UL,
<a name="l00136"></a>00136         0x919139a8UL, 0x959531a4UL, 0xe4e4d337UL, 0x7979f28bUL,
<a name="l00137"></a>00137         0xe7e7d532UL, 0xc8c88b43UL, 0x37376e59UL, 0x6d6ddab7UL,
<a name="l00138"></a>00138         0x8d8d018cUL, 0xd5d5b164UL, 0x4e4e9cd2UL, 0xa9a949e0UL,
<a name="l00139"></a>00139         0x6c6cd8b4UL, 0x5656acfaUL, 0xf4f4f307UL, 0xeaeacf25UL,
<a name="l00140"></a>00140         0x6565caafUL, 0x7a7af48eUL, 0xaeae47e9UL, 0x08081018UL,
<a name="l00141"></a>00141         0xbaba6fd5UL, 0x7878f088UL, 0x25254a6fUL, 0x2e2e5c72UL,
<a name="l00142"></a>00142         0x1c1c3824UL, 0xa6a657f1UL, 0xb4b473c7UL, 0xc6c69751UL,
<a name="l00143"></a>00143         0xe8e8cb23UL, 0xdddda17cUL, 0x7474e89cUL, 0x1f1f3e21UL,
<a name="l00144"></a>00144         0x4b4b96ddUL, 0xbdbd61dcUL, 0x8b8b0d86UL, 0x8a8a0f85UL,
<a name="l00145"></a>00145         0x7070e090UL, 0x3e3e7c42UL, 0xb5b571c4UL, 0x6666ccaaUL,
<a name="l00146"></a>00146         0x484890d8UL, 0x03030605UL, 0xf6f6f701UL, 0x0e0e1c12UL,
<a name="l00147"></a>00147         0x6161c2a3UL, 0x35356a5fUL, 0x5757aef9UL, 0xb9b969d0UL,
<a name="l00148"></a>00148         0x86861791UL, 0xc1c19958UL, 0x1d1d3a27UL, 0x9e9e27b9UL,
<a name="l00149"></a>00149         0xe1e1d938UL, 0xf8f8eb13UL, 0x98982bb3UL, 0x11112233UL,
<a name="l00150"></a>00150         0x6969d2bbUL, 0xd9d9a970UL, 0x8e8e0789UL, 0x949433a7UL,
<a name="l00151"></a>00151         0x9b9b2db6UL, 0x1e1e3c22UL, 0x87871592UL, 0xe9e9c920UL,
<a name="l00152"></a>00152         0xcece8749UL, 0x5555aaffUL, 0x28285078UL, 0xdfdfa57aUL,
<a name="l00153"></a>00153         0x8c8c038fUL, 0xa1a159f8UL, 0x89890980UL, 0x0d0d1a17UL,
<a name="l00154"></a>00154         0xbfbf65daUL, 0xe6e6d731UL, 0x424284c6UL, 0x6868d0b8UL,
<a name="l00155"></a>00155         0x414182c3UL, 0x999929b0UL, 0x2d2d5a77UL, 0x0f0f1e11UL,
<a name="l00156"></a>00156         0xb0b07bcbUL, 0x5454a8fcUL, 0xbbbb6dd6UL, 0x16162c3aUL,
<a name="l00157"></a>00157     }, {
<a name="l00158"></a>00158         0x63c6a563UL, 0x7cf8847cUL, 0x77ee9977UL, 0x7bf68d7bUL,
<a name="l00159"></a>00159         0xf2ff0df2UL, 0x6bd6bd6bUL, 0x6fdeb16fUL, 0xc59154c5UL,
<a name="l00160"></a>00160         0x30605030UL, 0x01020301UL, 0x67cea967UL, 0x2b567d2bUL,
<a name="l00161"></a>00161         0xfee719feUL, 0xd7b562d7UL, 0xab4de6abUL, 0x76ec9a76UL,
<a name="l00162"></a>00162         0xca8f45caUL, 0x821f9d82UL, 0xc98940c9UL, 0x7dfa877dUL,
<a name="l00163"></a>00163         0xfaef15faUL, 0x59b2eb59UL, 0x478ec947UL, 0xf0fb0bf0UL,
<a name="l00164"></a>00164         0xad41ecadUL, 0xd4b367d4UL, 0xa25ffda2UL, 0xaf45eaafUL,
<a name="l00165"></a>00165         0x9c23bf9cUL, 0xa453f7a4UL, 0x72e49672UL, 0xc09b5bc0UL,
<a name="l00166"></a>00166         0xb775c2b7UL, 0xfde11cfdUL, 0x933dae93UL, 0x264c6a26UL,
<a name="l00167"></a>00167         0x366c5a36UL, 0x3f7e413fUL, 0xf7f502f7UL, 0xcc834fccUL,
<a name="l00168"></a>00168         0x34685c34UL, 0xa551f4a5UL, 0xe5d134e5UL, 0xf1f908f1UL,
<a name="l00169"></a>00169         0x71e29371UL, 0xd8ab73d8UL, 0x31625331UL, 0x152a3f15UL,
<a name="l00170"></a>00170         0x04080c04UL, 0xc79552c7UL, 0x23466523UL, 0xc39d5ec3UL,
<a name="l00171"></a>00171         0x18302818UL, 0x9637a196UL, 0x050a0f05UL, 0x9a2fb59aUL,
<a name="l00172"></a>00172         0x070e0907UL, 0x12243612UL, 0x801b9b80UL, 0xe2df3de2UL,
<a name="l00173"></a>00173         0xebcd26ebUL, 0x274e6927UL, 0xb27fcdb2UL, 0x75ea9f75UL,
<a name="l00174"></a>00174         0x09121b09UL, 0x831d9e83UL, 0x2c58742cUL, 0x1a342e1aUL,
<a name="l00175"></a>00175         0x1b362d1bUL, 0x6edcb26eUL, 0x5ab4ee5aUL, 0xa05bfba0UL,
<a name="l00176"></a>00176         0x52a4f652UL, 0x3b764d3bUL, 0xd6b761d6UL, 0xb37dceb3UL,
<a name="l00177"></a>00177         0x29527b29UL, 0xe3dd3ee3UL, 0x2f5e712fUL, 0x84139784UL,
<a name="l00178"></a>00178         0x53a6f553UL, 0xd1b968d1UL, 0x00000000UL, 0xedc12cedUL,
<a name="l00179"></a>00179         0x20406020UL, 0xfce31ffcUL, 0xb179c8b1UL, 0x5bb6ed5bUL,
<a name="l00180"></a>00180         0x6ad4be6aUL, 0xcb8d46cbUL, 0xbe67d9beUL, 0x39724b39UL,
<a name="l00181"></a>00181         0x4a94de4aUL, 0x4c98d44cUL, 0x58b0e858UL, 0xcf854acfUL,
<a name="l00182"></a>00182         0xd0bb6bd0UL, 0xefc52aefUL, 0xaa4fe5aaUL, 0xfbed16fbUL,
<a name="l00183"></a>00183         0x4386c543UL, 0x4d9ad74dUL, 0x33665533UL, 0x85119485UL,
<a name="l00184"></a>00184         0x458acf45UL, 0xf9e910f9UL, 0x02040602UL, 0x7ffe817fUL,
<a name="l00185"></a>00185         0x50a0f050UL, 0x3c78443cUL, 0x9f25ba9fUL, 0xa84be3a8UL,
<a name="l00186"></a>00186         0x51a2f351UL, 0xa35dfea3UL, 0x4080c040UL, 0x8f058a8fUL,
<a name="l00187"></a>00187         0x923fad92UL, 0x9d21bc9dUL, 0x38704838UL, 0xf5f104f5UL,
<a name="l00188"></a>00188         0xbc63dfbcUL, 0xb677c1b6UL, 0xdaaf75daUL, 0x21426321UL,
<a name="l00189"></a>00189         0x10203010UL, 0xffe51affUL, 0xf3fd0ef3UL, 0xd2bf6dd2UL,
<a name="l00190"></a>00190         0xcd814ccdUL, 0x0c18140cUL, 0x13263513UL, 0xecc32fecUL,
<a name="l00191"></a>00191         0x5fbee15fUL, 0x9735a297UL, 0x4488cc44UL, 0x172e3917UL,
<a name="l00192"></a>00192         0xc49357c4UL, 0xa755f2a7UL, 0x7efc827eUL, 0x3d7a473dUL,
<a name="l00193"></a>00193         0x64c8ac64UL, 0x5dbae75dUL, 0x19322b19UL, 0x73e69573UL,
<a name="l00194"></a>00194         0x60c0a060UL, 0x81199881UL, 0x4f9ed14fUL, 0xdca37fdcUL,
<a name="l00195"></a>00195         0x22446622UL, 0x2a547e2aUL, 0x903bab90UL, 0x880b8388UL,
<a name="l00196"></a>00196         0x468cca46UL, 0xeec729eeUL, 0xb86bd3b8UL, 0x14283c14UL,
<a name="l00197"></a>00197         0xdea779deUL, 0x5ebce25eUL, 0x0b161d0bUL, 0xdbad76dbUL,
<a name="l00198"></a>00198         0xe0db3be0UL, 0x32645632UL, 0x3a744e3aUL, 0x0a141e0aUL,
<a name="l00199"></a>00199         0x4992db49UL, 0x060c0a06UL, 0x24486c24UL, 0x5cb8e45cUL,
<a name="l00200"></a>00200         0xc29f5dc2UL, 0xd3bd6ed3UL, 0xac43efacUL, 0x62c4a662UL,
<a name="l00201"></a>00201         0x9139a891UL, 0x9531a495UL, 0xe4d337e4UL, 0x79f28b79UL,
<a name="l00202"></a>00202         0xe7d532e7UL, 0xc88b43c8UL, 0x376e5937UL, 0x6ddab76dUL,
<a name="l00203"></a>00203         0x8d018c8dUL, 0xd5b164d5UL, 0x4e9cd24eUL, 0xa949e0a9UL,
<a name="l00204"></a>00204         0x6cd8b46cUL, 0x56acfa56UL, 0xf4f307f4UL, 0xeacf25eaUL,
<a name="l00205"></a>00205         0x65caaf65UL, 0x7af48e7aUL, 0xae47e9aeUL, 0x08101808UL,
<a name="l00206"></a>00206         0xba6fd5baUL, 0x78f08878UL, 0x254a6f25UL, 0x2e5c722eUL,
<a name="l00207"></a>00207         0x1c38241cUL, 0xa657f1a6UL, 0xb473c7b4UL, 0xc69751c6UL,
<a name="l00208"></a>00208         0xe8cb23e8UL, 0xdda17cddUL, 0x74e89c74UL, 0x1f3e211fUL,
<a name="l00209"></a>00209         0x4b96dd4bUL, 0xbd61dcbdUL, 0x8b0d868bUL, 0x8a0f858aUL,
<a name="l00210"></a>00210         0x70e09070UL, 0x3e7c423eUL, 0xb571c4b5UL, 0x66ccaa66UL,
<a name="l00211"></a>00211         0x4890d848UL, 0x03060503UL, 0xf6f701f6UL, 0x0e1c120eUL,
<a name="l00212"></a>00212         0x61c2a361UL, 0x356a5f35UL, 0x57aef957UL, 0xb969d0b9UL,
<a name="l00213"></a>00213         0x86179186UL, 0xc19958c1UL, 0x1d3a271dUL, 0x9e27b99eUL,
<a name="l00214"></a>00214         0xe1d938e1UL, 0xf8eb13f8UL, 0x982bb398UL, 0x11223311UL,
<a name="l00215"></a>00215         0x69d2bb69UL, 0xd9a970d9UL, 0x8e07898eUL, 0x9433a794UL,
<a name="l00216"></a>00216         0x9b2db69bUL, 0x1e3c221eUL, 0x87159287UL, 0xe9c920e9UL,
<a name="l00217"></a>00217         0xce8749ceUL, 0x55aaff55UL, 0x28507828UL, 0xdfa57adfUL,
<a name="l00218"></a>00218         0x8c038f8cUL, 0xa159f8a1UL, 0x89098089UL, 0x0d1a170dUL,
<a name="l00219"></a>00219         0xbf65dabfUL, 0xe6d731e6UL, 0x4284c642UL, 0x68d0b868UL,
<a name="l00220"></a>00220         0x4182c341UL, 0x9929b099UL, 0x2d5a772dUL, 0x0f1e110fUL,
<a name="l00221"></a>00221         0xb07bcbb0UL, 0x54a8fc54UL, 0xbb6dd6bbUL, 0x162c3a16UL,
<a name="l00222"></a>00222     }, {
<a name="l00223"></a>00223         0xc6a56363UL, 0xf8847c7cUL, 0xee997777UL, 0xf68d7b7bUL,
<a name="l00224"></a>00224         0xff0df2f2UL, 0xd6bd6b6bUL, 0xdeb16f6fUL, 0x9154c5c5UL,
<a name="l00225"></a>00225         0x60503030UL, 0x02030101UL, 0xcea96767UL, 0x567d2b2bUL,
<a name="l00226"></a>00226         0xe719fefeUL, 0xb562d7d7UL, 0x4de6ababUL, 0xec9a7676UL,
<a name="l00227"></a>00227         0x8f45cacaUL, 0x1f9d8282UL, 0x8940c9c9UL, 0xfa877d7dUL,
<a name="l00228"></a>00228         0xef15fafaUL, 0xb2eb5959UL, 0x8ec94747UL, 0xfb0bf0f0UL,
<a name="l00229"></a>00229         0x41ecadadUL, 0xb367d4d4UL, 0x5ffda2a2UL, 0x45eaafafUL,
<a name="l00230"></a>00230         0x23bf9c9cUL, 0x53f7a4a4UL, 0xe4967272UL, 0x9b5bc0c0UL,
<a name="l00231"></a>00231         0x75c2b7b7UL, 0xe11cfdfdUL, 0x3dae9393UL, 0x4c6a2626UL,
<a name="l00232"></a>00232         0x6c5a3636UL, 0x7e413f3fUL, 0xf502f7f7UL, 0x834fccccUL,
<a name="l00233"></a>00233         0x685c3434UL, 0x51f4a5a5UL, 0xd134e5e5UL, 0xf908f1f1UL,
<a name="l00234"></a>00234         0xe2937171UL, 0xab73d8d8UL, 0x62533131UL, 0x2a3f1515UL,
<a name="l00235"></a>00235         0x080c0404UL, 0x9552c7c7UL, 0x46652323UL, 0x9d5ec3c3UL,
<a name="l00236"></a>00236         0x30281818UL, 0x37a19696UL, 0x0a0f0505UL, 0x2fb59a9aUL,
<a name="l00237"></a>00237         0x0e090707UL, 0x24361212UL, 0x1b9b8080UL, 0xdf3de2e2UL,
<a name="l00238"></a>00238         0xcd26ebebUL, 0x4e692727UL, 0x7fcdb2b2UL, 0xea9f7575UL,
<a name="l00239"></a>00239         0x121b0909UL, 0x1d9e8383UL, 0x58742c2cUL, 0x342e1a1aUL,
<a name="l00240"></a>00240         0x362d1b1bUL, 0xdcb26e6eUL, 0xb4ee5a5aUL, 0x5bfba0a0UL,
<a name="l00241"></a>00241         0xa4f65252UL, 0x764d3b3bUL, 0xb761d6d6UL, 0x7dceb3b3UL,
<a name="l00242"></a>00242         0x527b2929UL, 0xdd3ee3e3UL, 0x5e712f2fUL, 0x13978484UL,
<a name="l00243"></a>00243         0xa6f55353UL, 0xb968d1d1UL, 0x00000000UL, 0xc12cededUL,
<a name="l00244"></a>00244         0x40602020UL, 0xe31ffcfcUL, 0x79c8b1b1UL, 0xb6ed5b5bUL,
<a name="l00245"></a>00245         0xd4be6a6aUL, 0x8d46cbcbUL, 0x67d9bebeUL, 0x724b3939UL,
<a name="l00246"></a>00246         0x94de4a4aUL, 0x98d44c4cUL, 0xb0e85858UL, 0x854acfcfUL,
<a name="l00247"></a>00247         0xbb6bd0d0UL, 0xc52aefefUL, 0x4fe5aaaaUL, 0xed16fbfbUL,
<a name="l00248"></a>00248         0x86c54343UL, 0x9ad74d4dUL, 0x66553333UL, 0x11948585UL,
<a name="l00249"></a>00249         0x8acf4545UL, 0xe910f9f9UL, 0x04060202UL, 0xfe817f7fUL,
<a name="l00250"></a>00250         0xa0f05050UL, 0x78443c3cUL, 0x25ba9f9fUL, 0x4be3a8a8UL,
<a name="l00251"></a>00251         0xa2f35151UL, 0x5dfea3a3UL, 0x80c04040UL, 0x058a8f8fUL,
<a name="l00252"></a>00252         0x3fad9292UL, 0x21bc9d9dUL, 0x70483838UL, 0xf104f5f5UL,
<a name="l00253"></a>00253         0x63dfbcbcUL, 0x77c1b6b6UL, 0xaf75dadaUL, 0x42632121UL,
<a name="l00254"></a>00254         0x20301010UL, 0xe51affffUL, 0xfd0ef3f3UL, 0xbf6dd2d2UL,
<a name="l00255"></a>00255         0x814ccdcdUL, 0x18140c0cUL, 0x26351313UL, 0xc32fececUL,
<a name="l00256"></a>00256         0xbee15f5fUL, 0x35a29797UL, 0x88cc4444UL, 0x2e391717UL,
<a name="l00257"></a>00257         0x9357c4c4UL, 0x55f2a7a7UL, 0xfc827e7eUL, 0x7a473d3dUL,
<a name="l00258"></a>00258         0xc8ac6464UL, 0xbae75d5dUL, 0x322b1919UL, 0xe6957373UL,
<a name="l00259"></a>00259         0xc0a06060UL, 0x19988181UL, 0x9ed14f4fUL, 0xa37fdcdcUL,
<a name="l00260"></a>00260         0x44662222UL, 0x547e2a2aUL, 0x3bab9090UL, 0x0b838888UL,
<a name="l00261"></a>00261         0x8cca4646UL, 0xc729eeeeUL, 0x6bd3b8b8UL, 0x283c1414UL,
<a name="l00262"></a>00262         0xa779dedeUL, 0xbce25e5eUL, 0x161d0b0bUL, 0xad76dbdbUL,
<a name="l00263"></a>00263         0xdb3be0e0UL, 0x64563232UL, 0x744e3a3aUL, 0x141e0a0aUL,
<a name="l00264"></a>00264         0x92db4949UL, 0x0c0a0606UL, 0x486c2424UL, 0xb8e45c5cUL,
<a name="l00265"></a>00265         0x9f5dc2c2UL, 0xbd6ed3d3UL, 0x43efacacUL, 0xc4a66262UL,
<a name="l00266"></a>00266         0x39a89191UL, 0x31a49595UL, 0xd337e4e4UL, 0xf28b7979UL,
<a name="l00267"></a>00267         0xd532e7e7UL, 0x8b43c8c8UL, 0x6e593737UL, 0xdab76d6dUL,
<a name="l00268"></a>00268         0x018c8d8dUL, 0xb164d5d5UL, 0x9cd24e4eUL, 0x49e0a9a9UL,
<a name="l00269"></a>00269         0xd8b46c6cUL, 0xacfa5656UL, 0xf307f4f4UL, 0xcf25eaeaUL,
<a name="l00270"></a>00270         0xcaaf6565UL, 0xf48e7a7aUL, 0x47e9aeaeUL, 0x10180808UL,
<a name="l00271"></a>00271         0x6fd5babaUL, 0xf0887878UL, 0x4a6f2525UL, 0x5c722e2eUL,
<a name="l00272"></a>00272         0x38241c1cUL, 0x57f1a6a6UL, 0x73c7b4b4UL, 0x9751c6c6UL,
<a name="l00273"></a>00273         0xcb23e8e8UL, 0xa17cddddUL, 0xe89c7474UL, 0x3e211f1fUL,
<a name="l00274"></a>00274         0x96dd4b4bUL, 0x61dcbdbdUL, 0x0d868b8bUL, 0x0f858a8aUL,
<a name="l00275"></a>00275         0xe0907070UL, 0x7c423e3eUL, 0x71c4b5b5UL, 0xccaa6666UL,
<a name="l00276"></a>00276         0x90d84848UL, 0x06050303UL, 0xf701f6f6UL, 0x1c120e0eUL,
<a name="l00277"></a>00277         0xc2a36161UL, 0x6a5f3535UL, 0xaef95757UL, 0x69d0b9b9UL,
<a name="l00278"></a>00278         0x17918686UL, 0x9958c1c1UL, 0x3a271d1dUL, 0x27b99e9eUL,
<a name="l00279"></a>00279         0xd938e1e1UL, 0xeb13f8f8UL, 0x2bb39898UL, 0x22331111UL,
<a name="l00280"></a>00280         0xd2bb6969UL, 0xa970d9d9UL, 0x07898e8eUL, 0x33a79494UL,
<a name="l00281"></a>00281         0x2db69b9bUL, 0x3c221e1eUL, 0x15928787UL, 0xc920e9e9UL,
<a name="l00282"></a>00282         0x8749ceceUL, 0xaaff5555UL, 0x50782828UL, 0xa57adfdfUL,
<a name="l00283"></a>00283         0x038f8c8cUL, 0x59f8a1a1UL, 0x09808989UL, 0x1a170d0dUL,
<a name="l00284"></a>00284         0x65dabfbfUL, 0xd731e6e6UL, 0x84c64242UL, 0xd0b86868UL,
<a name="l00285"></a>00285         0x82c34141UL, 0x29b09999UL, 0x5a772d2dUL, 0x1e110f0fUL,
<a name="l00286"></a>00286         0x7bcbb0b0UL, 0xa8fc5454UL, 0x6dd6bbbbUL, 0x2c3a1616UL,
<a name="l00287"></a>00287     }
<a name="l00288"></a>00288 };
<a name="l00289"></a>00289 
<a name="l00290"></a>00290 <span class="keyword">const</span> uint32_t FL_TBL[4][256] = {
<a name="l00291"></a>00291     {
<a name="l00292"></a>00292         0x00000063UL, 0x0000007cUL, 0x00000077UL, 0x0000007bUL,
<a name="l00293"></a>00293         0x000000f2UL, 0x0000006bUL, 0x0000006fUL, 0x000000c5UL,
<a name="l00294"></a>00294         0x00000030UL, 0x00000001UL, 0x00000067UL, 0x0000002bUL,
<a name="l00295"></a>00295         0x000000feUL, 0x000000d7UL, 0x000000abUL, 0x00000076UL,
<a name="l00296"></a>00296         0x000000caUL, 0x00000082UL, 0x000000c9UL, 0x0000007dUL,
<a name="l00297"></a>00297         0x000000faUL, 0x00000059UL, 0x00000047UL, 0x000000f0UL,
<a name="l00298"></a>00298         0x000000adUL, 0x000000d4UL, 0x000000a2UL, 0x000000afUL,
<a name="l00299"></a>00299         0x0000009cUL, 0x000000a4UL, 0x00000072UL, 0x000000c0UL,
<a name="l00300"></a>00300         0x000000b7UL, 0x000000fdUL, 0x00000093UL, 0x00000026UL,
<a name="l00301"></a>00301         0x00000036UL, 0x0000003fUL, 0x000000f7UL, 0x000000ccUL,
<a name="l00302"></a>00302         0x00000034UL, 0x000000a5UL, 0x000000e5UL, 0x000000f1UL,
<a name="l00303"></a>00303         0x00000071UL, 0x000000d8UL, 0x00000031UL, 0x00000015UL,
<a name="l00304"></a>00304         0x00000004UL, 0x000000c7UL, 0x00000023UL, 0x000000c3UL,
<a name="l00305"></a>00305         0x00000018UL, 0x00000096UL, 0x00000005UL, 0x0000009aUL,
<a name="l00306"></a>00306         0x00000007UL, 0x00000012UL, 0x00000080UL, 0x000000e2UL,
<a name="l00307"></a>00307         0x000000ebUL, 0x00000027UL, 0x000000b2UL, 0x00000075UL,
<a name="l00308"></a>00308         0x00000009UL, 0x00000083UL, 0x0000002cUL, 0x0000001aUL,
<a name="l00309"></a>00309         0x0000001bUL, 0x0000006eUL, 0x0000005aUL, 0x000000a0UL,
<a name="l00310"></a>00310         0x00000052UL, 0x0000003bUL, 0x000000d6UL, 0x000000b3UL,
<a name="l00311"></a>00311         0x00000029UL, 0x000000e3UL, 0x0000002fUL, 0x00000084UL,
<a name="l00312"></a>00312         0x00000053UL, 0x000000d1UL, 0x00000000UL, 0x000000edUL,
<a name="l00313"></a>00313         0x00000020UL, 0x000000fcUL, 0x000000b1UL, 0x0000005bUL,
<a name="l00314"></a>00314         0x0000006aUL, 0x000000cbUL, 0x000000beUL, 0x00000039UL,
<a name="l00315"></a>00315         0x0000004aUL, 0x0000004cUL, 0x00000058UL, 0x000000cfUL,
<a name="l00316"></a>00316         0x000000d0UL, 0x000000efUL, 0x000000aaUL, 0x000000fbUL,
<a name="l00317"></a>00317         0x00000043UL, 0x0000004dUL, 0x00000033UL, 0x00000085UL,
<a name="l00318"></a>00318         0x00000045UL, 0x000000f9UL, 0x00000002UL, 0x0000007fUL,
<a name="l00319"></a>00319         0x00000050UL, 0x0000003cUL, 0x0000009fUL, 0x000000a8UL,
<a name="l00320"></a>00320         0x00000051UL, 0x000000a3UL, 0x00000040UL, 0x0000008fUL,
<a name="l00321"></a>00321         0x00000092UL, 0x0000009dUL, 0x00000038UL, 0x000000f5UL,
<a name="l00322"></a>00322         0x000000bcUL, 0x000000b6UL, 0x000000daUL, 0x00000021UL,
<a name="l00323"></a>00323         0x00000010UL, 0x000000ffUL, 0x000000f3UL, 0x000000d2UL,
<a name="l00324"></a>00324         0x000000cdUL, 0x0000000cUL, 0x00000013UL, 0x000000ecUL,
<a name="l00325"></a>00325         0x0000005fUL, 0x00000097UL, 0x00000044UL, 0x00000017UL,
<a name="l00326"></a>00326         0x000000c4UL, 0x000000a7UL, 0x0000007eUL, 0x0000003dUL,
<a name="l00327"></a>00327         0x00000064UL, 0x0000005dUL, 0x00000019UL, 0x00000073UL,
<a name="l00328"></a>00328         0x00000060UL, 0x00000081UL, 0x0000004fUL, 0x000000dcUL,
<a name="l00329"></a>00329         0x00000022UL, 0x0000002aUL, 0x00000090UL, 0x00000088UL,
<a name="l00330"></a>00330         0x00000046UL, 0x000000eeUL, 0x000000b8UL, 0x00000014UL,
<a name="l00331"></a>00331         0x000000deUL, 0x0000005eUL, 0x0000000bUL, 0x000000dbUL,
<a name="l00332"></a>00332         0x000000e0UL, 0x00000032UL, 0x0000003aUL, 0x0000000aUL,
<a name="l00333"></a>00333         0x00000049UL, 0x00000006UL, 0x00000024UL, 0x0000005cUL,
<a name="l00334"></a>00334         0x000000c2UL, 0x000000d3UL, 0x000000acUL, 0x00000062UL,
<a name="l00335"></a>00335         0x00000091UL, 0x00000095UL, 0x000000e4UL, 0x00000079UL,
<a name="l00336"></a>00336         0x000000e7UL, 0x000000c8UL, 0x00000037UL, 0x0000006dUL,
<a name="l00337"></a>00337         0x0000008dUL, 0x000000d5UL, 0x0000004eUL, 0x000000a9UL,
<a name="l00338"></a>00338         0x0000006cUL, 0x00000056UL, 0x000000f4UL, 0x000000eaUL,
<a name="l00339"></a>00339         0x00000065UL, 0x0000007aUL, 0x000000aeUL, 0x00000008UL,
<a name="l00340"></a>00340         0x000000baUL, 0x00000078UL, 0x00000025UL, 0x0000002eUL,
<a name="l00341"></a>00341         0x0000001cUL, 0x000000a6UL, 0x000000b4UL, 0x000000c6UL,
<a name="l00342"></a>00342         0x000000e8UL, 0x000000ddUL, 0x00000074UL, 0x0000001fUL,
<a name="l00343"></a>00343         0x0000004bUL, 0x000000bdUL, 0x0000008bUL, 0x0000008aUL,
<a name="l00344"></a>00344         0x00000070UL, 0x0000003eUL, 0x000000b5UL, 0x00000066UL,
<a name="l00345"></a>00345         0x00000048UL, 0x00000003UL, 0x000000f6UL, 0x0000000eUL,
<a name="l00346"></a>00346         0x00000061UL, 0x00000035UL, 0x00000057UL, 0x000000b9UL,
<a name="l00347"></a>00347         0x00000086UL, 0x000000c1UL, 0x0000001dUL, 0x0000009eUL,
<a name="l00348"></a>00348         0x000000e1UL, 0x000000f8UL, 0x00000098UL, 0x00000011UL,
<a name="l00349"></a>00349         0x00000069UL, 0x000000d9UL, 0x0000008eUL, 0x00000094UL,
<a name="l00350"></a>00350         0x0000009bUL, 0x0000001eUL, 0x00000087UL, 0x000000e9UL,
<a name="l00351"></a>00351         0x000000ceUL, 0x00000055UL, 0x00000028UL, 0x000000dfUL,
<a name="l00352"></a>00352         0x0000008cUL, 0x000000a1UL, 0x00000089UL, 0x0000000dUL,
<a name="l00353"></a>00353         0x000000bfUL, 0x000000e6UL, 0x00000042UL, 0x00000068UL,
<a name="l00354"></a>00354         0x00000041UL, 0x00000099UL, 0x0000002dUL, 0x0000000fUL,
<a name="l00355"></a>00355         0x000000b0UL, 0x00000054UL, 0x000000bbUL, 0x00000016UL,
<a name="l00356"></a>00356     }, {
<a name="l00357"></a>00357         0x00006300UL, 0x00007c00UL, 0x00007700UL, 0x00007b00UL,
<a name="l00358"></a>00358         0x0000f200UL, 0x00006b00UL, 0x00006f00UL, 0x0000c500UL,
<a name="l00359"></a>00359         0x00003000UL, 0x00000100UL, 0x00006700UL, 0x00002b00UL,
<a name="l00360"></a>00360         0x0000fe00UL, 0x0000d700UL, 0x0000ab00UL, 0x00007600UL,
<a name="l00361"></a>00361         0x0000ca00UL, 0x00008200UL, 0x0000c900UL, 0x00007d00UL,
<a name="l00362"></a>00362         0x0000fa00UL, 0x00005900UL, 0x00004700UL, 0x0000f000UL,
<a name="l00363"></a>00363         0x0000ad00UL, 0x0000d400UL, 0x0000a200UL, 0x0000af00UL,
<a name="l00364"></a>00364         0x00009c00UL, 0x0000a400UL, 0x00007200UL, 0x0000c000UL,
<a name="l00365"></a>00365         0x0000b700UL, 0x0000fd00UL, 0x00009300UL, 0x00002600UL,
<a name="l00366"></a>00366         0x00003600UL, 0x00003f00UL, 0x0000f700UL, 0x0000cc00UL,
<a name="l00367"></a>00367         0x00003400UL, 0x0000a500UL, 0x0000e500UL, 0x0000f100UL,
<a name="l00368"></a>00368         0x00007100UL, 0x0000d800UL, 0x00003100UL, 0x00001500UL,
<a name="l00369"></a>00369         0x00000400UL, 0x0000c700UL, 0x00002300UL, 0x0000c300UL,
<a name="l00370"></a>00370         0x00001800UL, 0x00009600UL, 0x00000500UL, 0x00009a00UL,
<a name="l00371"></a>00371         0x00000700UL, 0x00001200UL, 0x00008000UL, 0x0000e200UL,
<a name="l00372"></a>00372         0x0000eb00UL, 0x00002700UL, 0x0000b200UL, 0x00007500UL,
<a name="l00373"></a>00373         0x00000900UL, 0x00008300UL, 0x00002c00UL, 0x00001a00UL,
<a name="l00374"></a>00374         0x00001b00UL, 0x00006e00UL, 0x00005a00UL, 0x0000a000UL,
<a name="l00375"></a>00375         0x00005200UL, 0x00003b00UL, 0x0000d600UL, 0x0000b300UL,
<a name="l00376"></a>00376         0x00002900UL, 0x0000e300UL, 0x00002f00UL, 0x00008400UL,
<a name="l00377"></a>00377         0x00005300UL, 0x0000d100UL, 0x00000000UL, 0x0000ed00UL,
<a name="l00378"></a>00378         0x00002000UL, 0x0000fc00UL, 0x0000b100UL, 0x00005b00UL,
<a name="l00379"></a>00379         0x00006a00UL, 0x0000cb00UL, 0x0000be00UL, 0x00003900UL,
<a name="l00380"></a>00380         0x00004a00UL, 0x00004c00UL, 0x00005800UL, 0x0000cf00UL,
<a name="l00381"></a>00381         0x0000d000UL, 0x0000ef00UL, 0x0000aa00UL, 0x0000fb00UL,
<a name="l00382"></a>00382         0x00004300UL, 0x00004d00UL, 0x00003300UL, 0x00008500UL,
<a name="l00383"></a>00383         0x00004500UL, 0x0000f900UL, 0x00000200UL, 0x00007f00UL,
<a name="l00384"></a>00384         0x00005000UL, 0x00003c00UL, 0x00009f00UL, 0x0000a800UL,
<a name="l00385"></a>00385         0x00005100UL, 0x0000a300UL, 0x00004000UL, 0x00008f00UL,
<a name="l00386"></a>00386         0x00009200UL, 0x00009d00UL, 0x00003800UL, 0x0000f500UL,
<a name="l00387"></a>00387         0x0000bc00UL, 0x0000b600UL, 0x0000da00UL, 0x00002100UL,
<a name="l00388"></a>00388         0x00001000UL, 0x0000ff00UL, 0x0000f300UL, 0x0000d200UL,
<a name="l00389"></a>00389         0x0000cd00UL, 0x00000c00UL, 0x00001300UL, 0x0000ec00UL,
<a name="l00390"></a>00390         0x00005f00UL, 0x00009700UL, 0x00004400UL, 0x00001700UL,
<a name="l00391"></a>00391         0x0000c400UL, 0x0000a700UL, 0x00007e00UL, 0x00003d00UL,
<a name="l00392"></a>00392         0x00006400UL, 0x00005d00UL, 0x00001900UL, 0x00007300UL,
<a name="l00393"></a>00393         0x00006000UL, 0x00008100UL, 0x00004f00UL, 0x0000dc00UL,
<a name="l00394"></a>00394         0x00002200UL, 0x00002a00UL, 0x00009000UL, 0x00008800UL,
<a name="l00395"></a>00395         0x00004600UL, 0x0000ee00UL, 0x0000b800UL, 0x00001400UL,
<a name="l00396"></a>00396         0x0000de00UL, 0x00005e00UL, 0x00000b00UL, 0x0000db00UL,
<a name="l00397"></a>00397         0x0000e000UL, 0x00003200UL, 0x00003a00UL, 0x00000a00UL,
<a name="l00398"></a>00398         0x00004900UL, 0x00000600UL, 0x00002400UL, 0x00005c00UL,
<a name="l00399"></a>00399         0x0000c200UL, 0x0000d300UL, 0x0000ac00UL, 0x00006200UL,
<a name="l00400"></a>00400         0x00009100UL, 0x00009500UL, 0x0000e400UL, 0x00007900UL,
<a name="l00401"></a>00401         0x0000e700UL, 0x0000c800UL, 0x00003700UL, 0x00006d00UL,
<a name="l00402"></a>00402         0x00008d00UL, 0x0000d500UL, 0x00004e00UL, 0x0000a900UL,
<a name="l00403"></a>00403         0x00006c00UL, 0x00005600UL, 0x0000f400UL, 0x0000ea00UL,
<a name="l00404"></a>00404         0x00006500UL, 0x00007a00UL, 0x0000ae00UL, 0x00000800UL,
<a name="l00405"></a>00405         0x0000ba00UL, 0x00007800UL, 0x00002500UL, 0x00002e00UL,
<a name="l00406"></a>00406         0x00001c00UL, 0x0000a600UL, 0x0000b400UL, 0x0000c600UL,
<a name="l00407"></a>00407         0x0000e800UL, 0x0000dd00UL, 0x00007400UL, 0x00001f00UL,
<a name="l00408"></a>00408         0x00004b00UL, 0x0000bd00UL, 0x00008b00UL, 0x00008a00UL,
<a name="l00409"></a>00409         0x00007000UL, 0x00003e00UL, 0x0000b500UL, 0x00006600UL,
<a name="l00410"></a>00410         0x00004800UL, 0x00000300UL, 0x0000f600UL, 0x00000e00UL,
<a name="l00411"></a>00411         0x00006100UL, 0x00003500UL, 0x00005700UL, 0x0000b900UL,
<a name="l00412"></a>00412         0x00008600UL, 0x0000c100UL, 0x00001d00UL, 0x00009e00UL,
<a name="l00413"></a>00413         0x0000e100UL, 0x0000f800UL, 0x00009800UL, 0x00001100UL,
<a name="l00414"></a>00414         0x00006900UL, 0x0000d900UL, 0x00008e00UL, 0x00009400UL,
<a name="l00415"></a>00415         0x00009b00UL, 0x00001e00UL, 0x00008700UL, 0x0000e900UL,
<a name="l00416"></a>00416         0x0000ce00UL, 0x00005500UL, 0x00002800UL, 0x0000df00UL,
<a name="l00417"></a>00417         0x00008c00UL, 0x0000a100UL, 0x00008900UL, 0x00000d00UL,
<a name="l00418"></a>00418         0x0000bf00UL, 0x0000e600UL, 0x00004200UL, 0x00006800UL,
<a name="l00419"></a>00419         0x00004100UL, 0x00009900UL, 0x00002d00UL, 0x00000f00UL,
<a name="l00420"></a>00420         0x0000b000UL, 0x00005400UL, 0x0000bb00UL, 0x00001600UL,
<a name="l00421"></a>00421     }, {
<a name="l00422"></a>00422         0x00630000UL, 0x007c0000UL, 0x00770000UL, 0x007b0000UL,
<a name="l00423"></a>00423         0x00f20000UL, 0x006b0000UL, 0x006f0000UL, 0x00c50000UL,
<a name="l00424"></a>00424         0x00300000UL, 0x00010000UL, 0x00670000UL, 0x002b0000UL,
<a name="l00425"></a>00425         0x00fe0000UL, 0x00d70000UL, 0x00ab0000UL, 0x00760000UL,
<a name="l00426"></a>00426         0x00ca0000UL, 0x00820000UL, 0x00c90000UL, 0x007d0000UL,
<a name="l00427"></a>00427         0x00fa0000UL, 0x00590000UL, 0x00470000UL, 0x00f00000UL,
<a name="l00428"></a>00428         0x00ad0000UL, 0x00d40000UL, 0x00a20000UL, 0x00af0000UL,
<a name="l00429"></a>00429         0x009c0000UL, 0x00a40000UL, 0x00720000UL, 0x00c00000UL,
<a name="l00430"></a>00430         0x00b70000UL, 0x00fd0000UL, 0x00930000UL, 0x00260000UL,
<a name="l00431"></a>00431         0x00360000UL, 0x003f0000UL, 0x00f70000UL, 0x00cc0000UL,
<a name="l00432"></a>00432         0x00340000UL, 0x00a50000UL, 0x00e50000UL, 0x00f10000UL,
<a name="l00433"></a>00433         0x00710000UL, 0x00d80000UL, 0x00310000UL, 0x00150000UL,
<a name="l00434"></a>00434         0x00040000UL, 0x00c70000UL, 0x00230000UL, 0x00c30000UL,
<a name="l00435"></a>00435         0x00180000UL, 0x00960000UL, 0x00050000UL, 0x009a0000UL,
<a name="l00436"></a>00436         0x00070000UL, 0x00120000UL, 0x00800000UL, 0x00e20000UL,
<a name="l00437"></a>00437         0x00eb0000UL, 0x00270000UL, 0x00b20000UL, 0x00750000UL,
<a name="l00438"></a>00438         0x00090000UL, 0x00830000UL, 0x002c0000UL, 0x001a0000UL,
<a name="l00439"></a>00439         0x001b0000UL, 0x006e0000UL, 0x005a0000UL, 0x00a00000UL,
<a name="l00440"></a>00440         0x00520000UL, 0x003b0000UL, 0x00d60000UL, 0x00b30000UL,
<a name="l00441"></a>00441         0x00290000UL, 0x00e30000UL, 0x002f0000UL, 0x00840000UL,
<a name="l00442"></a>00442         0x00530000UL, 0x00d10000UL, 0x00000000UL, 0x00ed0000UL,
<a name="l00443"></a>00443         0x00200000UL, 0x00fc0000UL, 0x00b10000UL, 0x005b0000UL,
<a name="l00444"></a>00444         0x006a0000UL, 0x00cb0000UL, 0x00be0000UL, 0x00390000UL,
<a name="l00445"></a>00445         0x004a0000UL, 0x004c0000UL, 0x00580000UL, 0x00cf0000UL,
<a name="l00446"></a>00446         0x00d00000UL, 0x00ef0000UL, 0x00aa0000UL, 0x00fb0000UL,
<a name="l00447"></a>00447         0x00430000UL, 0x004d0000UL, 0x00330000UL, 0x00850000UL,
<a name="l00448"></a>00448         0x00450000UL, 0x00f90000UL, 0x00020000UL, 0x007f0000UL,
<a name="l00449"></a>00449         0x00500000UL, 0x003c0000UL, 0x009f0000UL, 0x00a80000UL,
<a name="l00450"></a>00450         0x00510000UL, 0x00a30000UL, 0x00400000UL, 0x008f0000UL,
<a name="l00451"></a>00451         0x00920000UL, 0x009d0000UL, 0x00380000UL, 0x00f50000UL,
<a name="l00452"></a>00452         0x00bc0000UL, 0x00b60000UL, 0x00da0000UL, 0x00210000UL,
<a name="l00453"></a>00453         0x00100000UL, 0x00ff0000UL, 0x00f30000UL, 0x00d20000UL,
<a name="l00454"></a>00454         0x00cd0000UL, 0x000c0000UL, 0x00130000UL, 0x00ec0000UL,
<a name="l00455"></a>00455         0x005f0000UL, 0x00970000UL, 0x00440000UL, 0x00170000UL,
<a name="l00456"></a>00456         0x00c40000UL, 0x00a70000UL, 0x007e0000UL, 0x003d0000UL,
<a name="l00457"></a>00457         0x00640000UL, 0x005d0000UL, 0x00190000UL, 0x00730000UL,
<a name="l00458"></a>00458         0x00600000UL, 0x00810000UL, 0x004f0000UL, 0x00dc0000UL,
<a name="l00459"></a>00459         0x00220000UL, 0x002a0000UL, 0x00900000UL, 0x00880000UL,
<a name="l00460"></a>00460         0x00460000UL, 0x00ee0000UL, 0x00b80000UL, 0x00140000UL,
<a name="l00461"></a>00461         0x00de0000UL, 0x005e0000UL, 0x000b0000UL, 0x00db0000UL,
<a name="l00462"></a>00462         0x00e00000UL, 0x00320000UL, 0x003a0000UL, 0x000a0000UL,
<a name="l00463"></a>00463         0x00490000UL, 0x00060000UL, 0x00240000UL, 0x005c0000UL,
<a name="l00464"></a>00464         0x00c20000UL, 0x00d30000UL, 0x00ac0000UL, 0x00620000UL,
<a name="l00465"></a>00465         0x00910000UL, 0x00950000UL, 0x00e40000UL, 0x00790000UL,
<a name="l00466"></a>00466         0x00e70000UL, 0x00c80000UL, 0x00370000UL, 0x006d0000UL,
<a name="l00467"></a>00467         0x008d0000UL, 0x00d50000UL, 0x004e0000UL, 0x00a90000UL,
<a name="l00468"></a>00468         0x006c0000UL, 0x00560000UL, 0x00f40000UL, 0x00ea0000UL,
<a name="l00469"></a>00469         0x00650000UL, 0x007a0000UL, 0x00ae0000UL, 0x00080000UL,
<a name="l00470"></a>00470         0x00ba0000UL, 0x00780000UL, 0x00250000UL, 0x002e0000UL,
<a name="l00471"></a>00471         0x001c0000UL, 0x00a60000UL, 0x00b40000UL, 0x00c60000UL,
<a name="l00472"></a>00472         0x00e80000UL, 0x00dd0000UL, 0x00740000UL, 0x001f0000UL,
<a name="l00473"></a>00473         0x004b0000UL, 0x00bd0000UL, 0x008b0000UL, 0x008a0000UL,
<a name="l00474"></a>00474         0x00700000UL, 0x003e0000UL, 0x00b50000UL, 0x00660000UL,
<a name="l00475"></a>00475         0x00480000UL, 0x00030000UL, 0x00f60000UL, 0x000e0000UL,
<a name="l00476"></a>00476         0x00610000UL, 0x00350000UL, 0x00570000UL, 0x00b90000UL,
<a name="l00477"></a>00477         0x00860000UL, 0x00c10000UL, 0x001d0000UL, 0x009e0000UL,
<a name="l00478"></a>00478         0x00e10000UL, 0x00f80000UL, 0x00980000UL, 0x00110000UL,
<a name="l00479"></a>00479         0x00690000UL, 0x00d90000UL, 0x008e0000UL, 0x00940000UL,
<a name="l00480"></a>00480         0x009b0000UL, 0x001e0000UL, 0x00870000UL, 0x00e90000UL,
<a name="l00481"></a>00481         0x00ce0000UL, 0x00550000UL, 0x00280000UL, 0x00df0000UL,
<a name="l00482"></a>00482         0x008c0000UL, 0x00a10000UL, 0x00890000UL, 0x000d0000UL,
<a name="l00483"></a>00483         0x00bf0000UL, 0x00e60000UL, 0x00420000UL, 0x00680000UL,
<a name="l00484"></a>00484         0x00410000UL, 0x00990000UL, 0x002d0000UL, 0x000f0000UL,
<a name="l00485"></a>00485         0x00b00000UL, 0x00540000UL, 0x00bb0000UL, 0x00160000UL,
<a name="l00486"></a>00486     }, {
<a name="l00487"></a>00487         0x63000000UL, 0x7c000000UL, 0x77000000UL, 0x7b000000UL,
<a name="l00488"></a>00488         0xf2000000UL, 0x6b000000UL, 0x6f000000UL, 0xc5000000UL,
<a name="l00489"></a>00489         0x30000000UL, 0x01000000UL, 0x67000000UL, 0x2b000000UL,
<a name="l00490"></a>00490         0xfe000000UL, 0xd7000000UL, 0xab000000UL, 0x76000000UL,
<a name="l00491"></a>00491         0xca000000UL, 0x82000000UL, 0xc9000000UL, 0x7d000000UL,
<a name="l00492"></a>00492         0xfa000000UL, 0x59000000UL, 0x47000000UL, 0xf0000000UL,
<a name="l00493"></a>00493         0xad000000UL, 0xd4000000UL, 0xa2000000UL, 0xaf000000UL,
<a name="l00494"></a>00494         0x9c000000UL, 0xa4000000UL, 0x72000000UL, 0xc0000000UL,
<a name="l00495"></a>00495         0xb7000000UL, 0xfd000000UL, 0x93000000UL, 0x26000000UL,
<a name="l00496"></a>00496         0x36000000UL, 0x3f000000UL, 0xf7000000UL, 0xcc000000UL,
<a name="l00497"></a>00497         0x34000000UL, 0xa5000000UL, 0xe5000000UL, 0xf1000000UL,
<a name="l00498"></a>00498         0x71000000UL, 0xd8000000UL, 0x31000000UL, 0x15000000UL,
<a name="l00499"></a>00499         0x04000000UL, 0xc7000000UL, 0x23000000UL, 0xc3000000UL,
<a name="l00500"></a>00500         0x18000000UL, 0x96000000UL, 0x05000000UL, 0x9a000000UL,
<a name="l00501"></a>00501         0x07000000UL, 0x12000000UL, 0x80000000UL, 0xe2000000UL,
<a name="l00502"></a>00502         0xeb000000UL, 0x27000000UL, 0xb2000000UL, 0x75000000UL,
<a name="l00503"></a>00503         0x09000000UL, 0x83000000UL, 0x2c000000UL, 0x1a000000UL,
<a name="l00504"></a>00504         0x1b000000UL, 0x6e000000UL, 0x5a000000UL, 0xa0000000UL,
<a name="l00505"></a>00505         0x52000000UL, 0x3b000000UL, 0xd6000000UL, 0xb3000000UL,
<a name="l00506"></a>00506         0x29000000UL, 0xe3000000UL, 0x2f000000UL, 0x84000000UL,
<a name="l00507"></a>00507         0x53000000UL, 0xd1000000UL, 0x00000000UL, 0xed000000UL,
<a name="l00508"></a>00508         0x20000000UL, 0xfc000000UL, 0xb1000000UL, 0x5b000000UL,
<a name="l00509"></a>00509         0x6a000000UL, 0xcb000000UL, 0xbe000000UL, 0x39000000UL,
<a name="l00510"></a>00510         0x4a000000UL, 0x4c000000UL, 0x58000000UL, 0xcf000000UL,
<a name="l00511"></a>00511         0xd0000000UL, 0xef000000UL, 0xaa000000UL, 0xfb000000UL,
<a name="l00512"></a>00512         0x43000000UL, 0x4d000000UL, 0x33000000UL, 0x85000000UL,
<a name="l00513"></a>00513         0x45000000UL, 0xf9000000UL, 0x02000000UL, 0x7f000000UL,
<a name="l00514"></a>00514         0x50000000UL, 0x3c000000UL, 0x9f000000UL, 0xa8000000UL,
<a name="l00515"></a>00515         0x51000000UL, 0xa3000000UL, 0x40000000UL, 0x8f000000UL,
<a name="l00516"></a>00516         0x92000000UL, 0x9d000000UL, 0x38000000UL, 0xf5000000UL,
<a name="l00517"></a>00517         0xbc000000UL, 0xb6000000UL, 0xda000000UL, 0x21000000UL,
<a name="l00518"></a>00518         0x10000000UL, 0xff000000UL, 0xf3000000UL, 0xd2000000UL,
<a name="l00519"></a>00519         0xcd000000UL, 0x0c000000UL, 0x13000000UL, 0xec000000UL,
<a name="l00520"></a>00520         0x5f000000UL, 0x97000000UL, 0x44000000UL, 0x17000000UL,
<a name="l00521"></a>00521         0xc4000000UL, 0xa7000000UL, 0x7e000000UL, 0x3d000000UL,
<a name="l00522"></a>00522         0x64000000UL, 0x5d000000UL, 0x19000000UL, 0x73000000UL,
<a name="l00523"></a>00523         0x60000000UL, 0x81000000UL, 0x4f000000UL, 0xdc000000UL,
<a name="l00524"></a>00524         0x22000000UL, 0x2a000000UL, 0x90000000UL, 0x88000000UL,
<a name="l00525"></a>00525         0x46000000UL, 0xee000000UL, 0xb8000000UL, 0x14000000UL,
<a name="l00526"></a>00526         0xde000000UL, 0x5e000000UL, 0x0b000000UL, 0xdb000000UL,
<a name="l00527"></a>00527         0xe0000000UL, 0x32000000UL, 0x3a000000UL, 0x0a000000UL,
<a name="l00528"></a>00528         0x49000000UL, 0x06000000UL, 0x24000000UL, 0x5c000000UL,
<a name="l00529"></a>00529         0xc2000000UL, 0xd3000000UL, 0xac000000UL, 0x62000000UL,
<a name="l00530"></a>00530         0x91000000UL, 0x95000000UL, 0xe4000000UL, 0x79000000UL,
<a name="l00531"></a>00531         0xe7000000UL, 0xc8000000UL, 0x37000000UL, 0x6d000000UL,
<a name="l00532"></a>00532         0x8d000000UL, 0xd5000000UL, 0x4e000000UL, 0xa9000000UL,
<a name="l00533"></a>00533         0x6c000000UL, 0x56000000UL, 0xf4000000UL, 0xea000000UL,
<a name="l00534"></a>00534         0x65000000UL, 0x7a000000UL, 0xae000000UL, 0x08000000UL,
<a name="l00535"></a>00535         0xba000000UL, 0x78000000UL, 0x25000000UL, 0x2e000000UL,
<a name="l00536"></a>00536         0x1c000000UL, 0xa6000000UL, 0xb4000000UL, 0xc6000000UL,
<a name="l00537"></a>00537         0xe8000000UL, 0xdd000000UL, 0x74000000UL, 0x1f000000UL,
<a name="l00538"></a>00538         0x4b000000UL, 0xbd000000UL, 0x8b000000UL, 0x8a000000UL,
<a name="l00539"></a>00539         0x70000000UL, 0x3e000000UL, 0xb5000000UL, 0x66000000UL,
<a name="l00540"></a>00540         0x48000000UL, 0x03000000UL, 0xf6000000UL, 0x0e000000UL,
<a name="l00541"></a>00541         0x61000000UL, 0x35000000UL, 0x57000000UL, 0xb9000000UL,
<a name="l00542"></a>00542         0x86000000UL, 0xc1000000UL, 0x1d000000UL, 0x9e000000UL,
<a name="l00543"></a>00543         0xe1000000UL, 0xf8000000UL, 0x98000000UL, 0x11000000UL,
<a name="l00544"></a>00544         0x69000000UL, 0xd9000000UL, 0x8e000000UL, 0x94000000UL,
<a name="l00545"></a>00545         0x9b000000UL, 0x1e000000UL, 0x87000000UL, 0xe9000000UL,
<a name="l00546"></a>00546         0xce000000UL, 0x55000000UL, 0x28000000UL, 0xdf000000UL,
<a name="l00547"></a>00547         0x8c000000UL, 0xa1000000UL, 0x89000000UL, 0x0d000000UL,
<a name="l00548"></a>00548         0xbf000000UL, 0xe6000000UL, 0x42000000UL, 0x68000000UL,
<a name="l00549"></a>00549         0x41000000UL, 0x99000000UL, 0x2d000000UL, 0x0f000000UL,
<a name="l00550"></a>00550         0xb0000000UL, 0x54000000UL, 0xbb000000UL, 0x16000000UL,
<a name="l00551"></a>00551     }
<a name="l00552"></a>00552 };
<a name="l00553"></a>00553 
<a name="l00554"></a>00554 <span class="keyword">const</span> uint32_t IT_TBL[4][256] = {
<a name="l00555"></a>00555     {
<a name="l00556"></a>00556         0x50a7f451UL, 0x5365417eUL, 0xc3a4171aUL, 0x965e273aUL,
<a name="l00557"></a>00557         0xcb6bab3bUL, 0xf1459d1fUL, 0xab58faacUL, 0x9303e34bUL,
<a name="l00558"></a>00558         0x55fa3020UL, 0xf66d76adUL, 0x9176cc88UL, 0x254c02f5UL,
<a name="l00559"></a>00559         0xfcd7e54fUL, 0xd7cb2ac5UL, 0x80443526UL, 0x8fa362b5UL,
<a name="l00560"></a>00560         0x495ab1deUL, 0x671bba25UL, 0x980eea45UL, 0xe1c0fe5dUL,
<a name="l00561"></a>00561         0x02752fc3UL, 0x12f04c81UL, 0xa397468dUL, 0xc6f9d36bUL,
<a name="l00562"></a>00562         0xe75f8f03UL, 0x959c9215UL, 0xeb7a6dbfUL, 0xda595295UL,
<a name="l00563"></a>00563         0x2d83bed4UL, 0xd3217458UL, 0x2969e049UL, 0x44c8c98eUL,
<a name="l00564"></a>00564         0x6a89c275UL, 0x78798ef4UL, 0x6b3e5899UL, 0xdd71b927UL,
<a name="l00565"></a>00565         0xb64fe1beUL, 0x17ad88f0UL, 0x66ac20c9UL, 0xb43ace7dUL,
<a name="l00566"></a>00566         0x184adf63UL, 0x82311ae5UL, 0x60335197UL, 0x457f5362UL,
<a name="l00567"></a>00567         0xe07764b1UL, 0x84ae6bbbUL, 0x1ca081feUL, 0x942b08f9UL,
<a name="l00568"></a>00568         0x58684870UL, 0x19fd458fUL, 0x876cde94UL, 0xb7f87b52UL,
<a name="l00569"></a>00569         0x23d373abUL, 0xe2024b72UL, 0x578f1fe3UL, 0x2aab5566UL,
<a name="l00570"></a>00570         0x0728ebb2UL, 0x03c2b52fUL, 0x9a7bc586UL, 0xa50837d3UL,
<a name="l00571"></a>00571         0xf2872830UL, 0xb2a5bf23UL, 0xba6a0302UL, 0x5c8216edUL,
<a name="l00572"></a>00572         0x2b1ccf8aUL, 0x92b479a7UL, 0xf0f207f3UL, 0xa1e2694eUL,
<a name="l00573"></a>00573         0xcdf4da65UL, 0xd5be0506UL, 0x1f6234d1UL, 0x8afea6c4UL,
<a name="l00574"></a>00574         0x9d532e34UL, 0xa055f3a2UL, 0x32e18a05UL, 0x75ebf6a4UL,
<a name="l00575"></a>00575         0x39ec830bUL, 0xaaef6040UL, 0x069f715eUL, 0x51106ebdUL,
<a name="l00576"></a>00576         0xf98a213eUL, 0x3d06dd96UL, 0xae053eddUL, 0x46bde64dUL,
<a name="l00577"></a>00577         0xb58d5491UL, 0x055dc471UL, 0x6fd40604UL, 0xff155060UL,
<a name="l00578"></a>00578         0x24fb9819UL, 0x97e9bdd6UL, 0xcc434089UL, 0x779ed967UL,
<a name="l00579"></a>00579         0xbd42e8b0UL, 0x888b8907UL, 0x385b19e7UL, 0xdbeec879UL,
<a name="l00580"></a>00580         0x470a7ca1UL, 0xe90f427cUL, 0xc91e84f8UL, 0x00000000UL,
<a name="l00581"></a>00581         0x83868009UL, 0x48ed2b32UL, 0xac70111eUL, 0x4e725a6cUL,
<a name="l00582"></a>00582         0xfbff0efdUL, 0x5638850fUL, 0x1ed5ae3dUL, 0x27392d36UL,
<a name="l00583"></a>00583         0x64d90f0aUL, 0x21a65c68UL, 0xd1545b9bUL, 0x3a2e3624UL,
<a name="l00584"></a>00584         0xb1670a0cUL, 0x0fe75793UL, 0xd296eeb4UL, 0x9e919b1bUL,
<a name="l00585"></a>00585         0x4fc5c080UL, 0xa220dc61UL, 0x694b775aUL, 0x161a121cUL,
<a name="l00586"></a>00586         0x0aba93e2UL, 0xe52aa0c0UL, 0x43e0223cUL, 0x1d171b12UL,
<a name="l00587"></a>00587         0x0b0d090eUL, 0xadc78bf2UL, 0xb9a8b62dUL, 0xc8a91e14UL,
<a name="l00588"></a>00588         0x8519f157UL, 0x4c0775afUL, 0xbbdd99eeUL, 0xfd607fa3UL,
<a name="l00589"></a>00589         0x9f2601f7UL, 0xbcf5725cUL, 0xc53b6644UL, 0x347efb5bUL,
<a name="l00590"></a>00590         0x7629438bUL, 0xdcc623cbUL, 0x68fcedb6UL, 0x63f1e4b8UL,
<a name="l00591"></a>00591         0xcadc31d7UL, 0x10856342UL, 0x40229713UL, 0x2011c684UL,
<a name="l00592"></a>00592         0x7d244a85UL, 0xf83dbbd2UL, 0x1132f9aeUL, 0x6da129c7UL,
<a name="l00593"></a>00593         0x4b2f9e1dUL, 0xf330b2dcUL, 0xec52860dUL, 0xd0e3c177UL,
<a name="l00594"></a>00594         0x6c16b32bUL, 0x99b970a9UL, 0xfa489411UL, 0x2264e947UL,
<a name="l00595"></a>00595         0xc48cfca8UL, 0x1a3ff0a0UL, 0xd82c7d56UL, 0xef903322UL,
<a name="l00596"></a>00596         0xc74e4987UL, 0xc1d138d9UL, 0xfea2ca8cUL, 0x360bd498UL,
<a name="l00597"></a>00597         0xcf81f5a6UL, 0x28de7aa5UL, 0x268eb7daUL, 0xa4bfad3fUL,
<a name="l00598"></a>00598         0xe49d3a2cUL, 0x0d927850UL, 0x9bcc5f6aUL, 0x62467e54UL,
<a name="l00599"></a>00599         0xc2138df6UL, 0xe8b8d890UL, 0x5ef7392eUL, 0xf5afc382UL,
<a name="l00600"></a>00600         0xbe805d9fUL, 0x7c93d069UL, 0xa92dd56fUL, 0xb31225cfUL,
<a name="l00601"></a>00601         0x3b99acc8UL, 0xa77d1810UL, 0x6e639ce8UL, 0x7bbb3bdbUL,
<a name="l00602"></a>00602         0x097826cdUL, 0xf418596eUL, 0x01b79aecUL, 0xa89a4f83UL,
<a name="l00603"></a>00603         0x656e95e6UL, 0x7ee6ffaaUL, 0x08cfbc21UL, 0xe6e815efUL,
<a name="l00604"></a>00604         0xd99be7baUL, 0xce366f4aUL, 0xd4099feaUL, 0xd67cb029UL,
<a name="l00605"></a>00605         0xafb2a431UL, 0x31233f2aUL, 0x3094a5c6UL, 0xc066a235UL,
<a name="l00606"></a>00606         0x37bc4e74UL, 0xa6ca82fcUL, 0xb0d090e0UL, 0x15d8a733UL,
<a name="l00607"></a>00607         0x4a9804f1UL, 0xf7daec41UL, 0x0e50cd7fUL, 0x2ff69117UL,
<a name="l00608"></a>00608         0x8dd64d76UL, 0x4db0ef43UL, 0x544daaccUL, 0xdf0496e4UL,
<a name="l00609"></a>00609         0xe3b5d19eUL, 0x1b886a4cUL, 0xb81f2cc1UL, 0x7f516546UL,
<a name="l00610"></a>00610         0x04ea5e9dUL, 0x5d358c01UL, 0x737487faUL, 0x2e410bfbUL,
<a name="l00611"></a>00611         0x5a1d67b3UL, 0x52d2db92UL, 0x335610e9UL, 0x1347d66dUL,
<a name="l00612"></a>00612         0x8c61d79aUL, 0x7a0ca137UL, 0x8e14f859UL, 0x893c13ebUL,
<a name="l00613"></a>00613         0xee27a9ceUL, 0x35c961b7UL, 0xede51ce1UL, 0x3cb1477aUL,
<a name="l00614"></a>00614         0x59dfd29cUL, 0x3f73f255UL, 0x79ce1418UL, 0xbf37c773UL,
<a name="l00615"></a>00615         0xeacdf753UL, 0x5baafd5fUL, 0x146f3ddfUL, 0x86db4478UL,
<a name="l00616"></a>00616         0x81f3afcaUL, 0x3ec468b9UL, 0x2c342438UL, 0x5f40a3c2UL,
<a name="l00617"></a>00617         0x72c31d16UL, 0x0c25e2bcUL, 0x8b493c28UL, 0x41950dffUL,
<a name="l00618"></a>00618         0x7101a839UL, 0xdeb30c08UL, 0x9ce4b4d8UL, 0x90c15664UL,
<a name="l00619"></a>00619         0x6184cb7bUL, 0x70b632d5UL, 0x745c6c48UL, 0x4257b8d0UL,
<a name="l00620"></a>00620     }, {
<a name="l00621"></a>00621         0xa7f45150UL, 0x65417e53UL, 0xa4171ac3UL, 0x5e273a96UL,
<a name="l00622"></a>00622         0x6bab3bcbUL, 0x459d1ff1UL, 0x58faacabUL, 0x03e34b93UL,
<a name="l00623"></a>00623         0xfa302055UL, 0x6d76adf6UL, 0x76cc8891UL, 0x4c02f525UL,
<a name="l00624"></a>00624         0xd7e54ffcUL, 0xcb2ac5d7UL, 0x44352680UL, 0xa362b58fUL,
<a name="l00625"></a>00625         0x5ab1de49UL, 0x1bba2567UL, 0x0eea4598UL, 0xc0fe5de1UL,
<a name="l00626"></a>00626         0x752fc302UL, 0xf04c8112UL, 0x97468da3UL, 0xf9d36bc6UL,
<a name="l00627"></a>00627         0x5f8f03e7UL, 0x9c921595UL, 0x7a6dbfebUL, 0x595295daUL,
<a name="l00628"></a>00628         0x83bed42dUL, 0x217458d3UL, 0x69e04929UL, 0xc8c98e44UL,
<a name="l00629"></a>00629         0x89c2756aUL, 0x798ef478UL, 0x3e58996bUL, 0x71b927ddUL,
<a name="l00630"></a>00630         0x4fe1beb6UL, 0xad88f017UL, 0xac20c966UL, 0x3ace7db4UL,
<a name="l00631"></a>00631         0x4adf6318UL, 0x311ae582UL, 0x33519760UL, 0x7f536245UL,
<a name="l00632"></a>00632         0x7764b1e0UL, 0xae6bbb84UL, 0xa081fe1cUL, 0x2b08f994UL,
<a name="l00633"></a>00633         0x68487058UL, 0xfd458f19UL, 0x6cde9487UL, 0xf87b52b7UL,
<a name="l00634"></a>00634         0xd373ab23UL, 0x024b72e2UL, 0x8f1fe357UL, 0xab55662aUL,
<a name="l00635"></a>00635         0x28ebb207UL, 0xc2b52f03UL, 0x7bc5869aUL, 0x0837d3a5UL,
<a name="l00636"></a>00636         0x872830f2UL, 0xa5bf23b2UL, 0x6a0302baUL, 0x8216ed5cUL,
<a name="l00637"></a>00637         0x1ccf8a2bUL, 0xb479a792UL, 0xf207f3f0UL, 0xe2694ea1UL,
<a name="l00638"></a>00638         0xf4da65cdUL, 0xbe0506d5UL, 0x6234d11fUL, 0xfea6c48aUL,
<a name="l00639"></a>00639         0x532e349dUL, 0x55f3a2a0UL, 0xe18a0532UL, 0xebf6a475UL,
<a name="l00640"></a>00640         0xec830b39UL, 0xef6040aaUL, 0x9f715e06UL, 0x106ebd51UL,
<a name="l00641"></a>00641         0x8a213ef9UL, 0x06dd963dUL, 0x053eddaeUL, 0xbde64d46UL,
<a name="l00642"></a>00642         0x8d5491b5UL, 0x5dc47105UL, 0xd406046fUL, 0x155060ffUL,
<a name="l00643"></a>00643         0xfb981924UL, 0xe9bdd697UL, 0x434089ccUL, 0x9ed96777UL,
<a name="l00644"></a>00644         0x42e8b0bdUL, 0x8b890788UL, 0x5b19e738UL, 0xeec879dbUL,
<a name="l00645"></a>00645         0x0a7ca147UL, 0x0f427ce9UL, 0x1e84f8c9UL, 0x00000000UL,
<a name="l00646"></a>00646         0x86800983UL, 0xed2b3248UL, 0x70111eacUL, 0x725a6c4eUL,
<a name="l00647"></a>00647         0xff0efdfbUL, 0x38850f56UL, 0xd5ae3d1eUL, 0x392d3627UL,
<a name="l00648"></a>00648         0xd90f0a64UL, 0xa65c6821UL, 0x545b9bd1UL, 0x2e36243aUL,
<a name="l00649"></a>00649         0x670a0cb1UL, 0xe757930fUL, 0x96eeb4d2UL, 0x919b1b9eUL,
<a name="l00650"></a>00650         0xc5c0804fUL, 0x20dc61a2UL, 0x4b775a69UL, 0x1a121c16UL,
<a name="l00651"></a>00651         0xba93e20aUL, 0x2aa0c0e5UL, 0xe0223c43UL, 0x171b121dUL,
<a name="l00652"></a>00652         0x0d090e0bUL, 0xc78bf2adUL, 0xa8b62db9UL, 0xa91e14c8UL,
<a name="l00653"></a>00653         0x19f15785UL, 0x0775af4cUL, 0xdd99eebbUL, 0x607fa3fdUL,
<a name="l00654"></a>00654         0x2601f79fUL, 0xf5725cbcUL, 0x3b6644c5UL, 0x7efb5b34UL,
<a name="l00655"></a>00655         0x29438b76UL, 0xc623cbdcUL, 0xfcedb668UL, 0xf1e4b863UL,
<a name="l00656"></a>00656         0xdc31d7caUL, 0x85634210UL, 0x22971340UL, 0x11c68420UL,
<a name="l00657"></a>00657         0x244a857dUL, 0x3dbbd2f8UL, 0x32f9ae11UL, 0xa129c76dUL,
<a name="l00658"></a>00658         0x2f9e1d4bUL, 0x30b2dcf3UL, 0x52860decUL, 0xe3c177d0UL,
<a name="l00659"></a>00659         0x16b32b6cUL, 0xb970a999UL, 0x489411faUL, 0x64e94722UL,
<a name="l00660"></a>00660         0x8cfca8c4UL, 0x3ff0a01aUL, 0x2c7d56d8UL, 0x903322efUL,
<a name="l00661"></a>00661         0x4e4987c7UL, 0xd138d9c1UL, 0xa2ca8cfeUL, 0x0bd49836UL,
<a name="l00662"></a>00662         0x81f5a6cfUL, 0xde7aa528UL, 0x8eb7da26UL, 0xbfad3fa4UL,
<a name="l00663"></a>00663         0x9d3a2ce4UL, 0x9278500dUL, 0xcc5f6a9bUL, 0x467e5462UL,
<a name="l00664"></a>00664         0x138df6c2UL, 0xb8d890e8UL, 0xf7392e5eUL, 0xafc382f5UL,
<a name="l00665"></a>00665         0x805d9fbeUL, 0x93d0697cUL, 0x2dd56fa9UL, 0x1225cfb3UL,
<a name="l00666"></a>00666         0x99acc83bUL, 0x7d1810a7UL, 0x639ce86eUL, 0xbb3bdb7bUL,
<a name="l00667"></a>00667         0x7826cd09UL, 0x18596ef4UL, 0xb79aec01UL, 0x9a4f83a8UL,
<a name="l00668"></a>00668         0x6e95e665UL, 0xe6ffaa7eUL, 0xcfbc2108UL, 0xe815efe6UL,
<a name="l00669"></a>00669         0x9be7bad9UL, 0x366f4aceUL, 0x099fead4UL, 0x7cb029d6UL,
<a name="l00670"></a>00670         0xb2a431afUL, 0x233f2a31UL, 0x94a5c630UL, 0x66a235c0UL,
<a name="l00671"></a>00671         0xbc4e7437UL, 0xca82fca6UL, 0xd090e0b0UL, 0xd8a73315UL,
<a name="l00672"></a>00672         0x9804f14aUL, 0xdaec41f7UL, 0x50cd7f0eUL, 0xf691172fUL,
<a name="l00673"></a>00673         0xd64d768dUL, 0xb0ef434dUL, 0x4daacc54UL, 0x0496e4dfUL,
<a name="l00674"></a>00674         0xb5d19ee3UL, 0x886a4c1bUL, 0x1f2cc1b8UL, 0x5165467fUL,
<a name="l00675"></a>00675         0xea5e9d04UL, 0x358c015dUL, 0x7487fa73UL, 0x410bfb2eUL,
<a name="l00676"></a>00676         0x1d67b35aUL, 0xd2db9252UL, 0x5610e933UL, 0x47d66d13UL,
<a name="l00677"></a>00677         0x61d79a8cUL, 0x0ca1377aUL, 0x14f8598eUL, 0x3c13eb89UL,
<a name="l00678"></a>00678         0x27a9ceeeUL, 0xc961b735UL, 0xe51ce1edUL, 0xb1477a3cUL,
<a name="l00679"></a>00679         0xdfd29c59UL, 0x73f2553fUL, 0xce141879UL, 0x37c773bfUL,
<a name="l00680"></a>00680         0xcdf753eaUL, 0xaafd5f5bUL, 0x6f3ddf14UL, 0xdb447886UL,
<a name="l00681"></a>00681         0xf3afca81UL, 0xc468b93eUL, 0x3424382cUL, 0x40a3c25fUL,
<a name="l00682"></a>00682         0xc31d1672UL, 0x25e2bc0cUL, 0x493c288bUL, 0x950dff41UL,
<a name="l00683"></a>00683         0x01a83971UL, 0xb30c08deUL, 0xe4b4d89cUL, 0xc1566490UL,
<a name="l00684"></a>00684         0x84cb7b61UL, 0xb632d570UL, 0x5c6c4874UL, 0x57b8d042UL,
<a name="l00685"></a>00685     }, {
<a name="l00686"></a>00686         0xf45150a7UL, 0x417e5365UL, 0x171ac3a4UL, 0x273a965eUL,
<a name="l00687"></a>00687         0xab3bcb6bUL, 0x9d1ff145UL, 0xfaacab58UL, 0xe34b9303UL,
<a name="l00688"></a>00688         0x302055faUL, 0x76adf66dUL, 0xcc889176UL, 0x02f5254cUL,
<a name="l00689"></a>00689         0xe54ffcd7UL, 0x2ac5d7cbUL, 0x35268044UL, 0x62b58fa3UL,
<a name="l00690"></a>00690         0xb1de495aUL, 0xba25671bUL, 0xea45980eUL, 0xfe5de1c0UL,
<a name="l00691"></a>00691         0x2fc30275UL, 0x4c8112f0UL, 0x468da397UL, 0xd36bc6f9UL,
<a name="l00692"></a>00692         0x8f03e75fUL, 0x9215959cUL, 0x6dbfeb7aUL, 0x5295da59UL,
<a name="l00693"></a>00693         0xbed42d83UL, 0x7458d321UL, 0xe0492969UL, 0xc98e44c8UL,
<a name="l00694"></a>00694         0xc2756a89UL, 0x8ef47879UL, 0x58996b3eUL, 0xb927dd71UL,
<a name="l00695"></a>00695         0xe1beb64fUL, 0x88f017adUL, 0x20c966acUL, 0xce7db43aUL,
<a name="l00696"></a>00696         0xdf63184aUL, 0x1ae58231UL, 0x51976033UL, 0x5362457fUL,
<a name="l00697"></a>00697         0x64b1e077UL, 0x6bbb84aeUL, 0x81fe1ca0UL, 0x08f9942bUL,
<a name="l00698"></a>00698         0x48705868UL, 0x458f19fdUL, 0xde94876cUL, 0x7b52b7f8UL,
<a name="l00699"></a>00699         0x73ab23d3UL, 0x4b72e202UL, 0x1fe3578fUL, 0x55662aabUL,
<a name="l00700"></a>00700         0xebb20728UL, 0xb52f03c2UL, 0xc5869a7bUL, 0x37d3a508UL,
<a name="l00701"></a>00701         0x2830f287UL, 0xbf23b2a5UL, 0x0302ba6aUL, 0x16ed5c82UL,
<a name="l00702"></a>00702         0xcf8a2b1cUL, 0x79a792b4UL, 0x07f3f0f2UL, 0x694ea1e2UL,
<a name="l00703"></a>00703         0xda65cdf4UL, 0x0506d5beUL, 0x34d11f62UL, 0xa6c48afeUL,
<a name="l00704"></a>00704         0x2e349d53UL, 0xf3a2a055UL, 0x8a0532e1UL, 0xf6a475ebUL,
<a name="l00705"></a>00705         0x830b39ecUL, 0x6040aaefUL, 0x715e069fUL, 0x6ebd5110UL,
<a name="l00706"></a>00706         0x213ef98aUL, 0xdd963d06UL, 0x3eddae05UL, 0xe64d46bdUL,
<a name="l00707"></a>00707         0x5491b58dUL, 0xc471055dUL, 0x06046fd4UL, 0x5060ff15UL,
<a name="l00708"></a>00708         0x981924fbUL, 0xbdd697e9UL, 0x4089cc43UL, 0xd967779eUL,
<a name="l00709"></a>00709         0xe8b0bd42UL, 0x8907888bUL, 0x19e7385bUL, 0xc879dbeeUL,
<a name="l00710"></a>00710         0x7ca1470aUL, 0x427ce90fUL, 0x84f8c91eUL, 0x00000000UL,
<a name="l00711"></a>00711         0x80098386UL, 0x2b3248edUL, 0x111eac70UL, 0x5a6c4e72UL,
<a name="l00712"></a>00712         0x0efdfbffUL, 0x850f5638UL, 0xae3d1ed5UL, 0x2d362739UL,
<a name="l00713"></a>00713         0x0f0a64d9UL, 0x5c6821a6UL, 0x5b9bd154UL, 0x36243a2eUL,
<a name="l00714"></a>00714         0x0a0cb167UL, 0x57930fe7UL, 0xeeb4d296UL, 0x9b1b9e91UL,
<a name="l00715"></a>00715         0xc0804fc5UL, 0xdc61a220UL, 0x775a694bUL, 0x121c161aUL,
<a name="l00716"></a>00716         0x93e20abaUL, 0xa0c0e52aUL, 0x223c43e0UL, 0x1b121d17UL,
<a name="l00717"></a>00717         0x090e0b0dUL, 0x8bf2adc7UL, 0xb62db9a8UL, 0x1e14c8a9UL,
<a name="l00718"></a>00718         0xf1578519UL, 0x75af4c07UL, 0x99eebbddUL, 0x7fa3fd60UL,
<a name="l00719"></a>00719         0x01f79f26UL, 0x725cbcf5UL, 0x6644c53bUL, 0xfb5b347eUL,
<a name="l00720"></a>00720         0x438b7629UL, 0x23cbdcc6UL, 0xedb668fcUL, 0xe4b863f1UL,
<a name="l00721"></a>00721         0x31d7cadcUL, 0x63421085UL, 0x97134022UL, 0xc6842011UL,
<a name="l00722"></a>00722         0x4a857d24UL, 0xbbd2f83dUL, 0xf9ae1132UL, 0x29c76da1UL,
<a name="l00723"></a>00723         0x9e1d4b2fUL, 0xb2dcf330UL, 0x860dec52UL, 0xc177d0e3UL,
<a name="l00724"></a>00724         0xb32b6c16UL, 0x70a999b9UL, 0x9411fa48UL, 0xe9472264UL,
<a name="l00725"></a>00725         0xfca8c48cUL, 0xf0a01a3fUL, 0x7d56d82cUL, 0x3322ef90UL,
<a name="l00726"></a>00726         0x4987c74eUL, 0x38d9c1d1UL, 0xca8cfea2UL, 0xd498360bUL,
<a name="l00727"></a>00727         0xf5a6cf81UL, 0x7aa528deUL, 0xb7da268eUL, 0xad3fa4bfUL,
<a name="l00728"></a>00728         0x3a2ce49dUL, 0x78500d92UL, 0x5f6a9bccUL, 0x7e546246UL,
<a name="l00729"></a>00729         0x8df6c213UL, 0xd890e8b8UL, 0x392e5ef7UL, 0xc382f5afUL,
<a name="l00730"></a>00730         0x5d9fbe80UL, 0xd0697c93UL, 0xd56fa92dUL, 0x25cfb312UL,
<a name="l00731"></a>00731         0xacc83b99UL, 0x1810a77dUL, 0x9ce86e63UL, 0x3bdb7bbbUL,
<a name="l00732"></a>00732         0x26cd0978UL, 0x596ef418UL, 0x9aec01b7UL, 0x4f83a89aUL,
<a name="l00733"></a>00733         0x95e6656eUL, 0xffaa7ee6UL, 0xbc2108cfUL, 0x15efe6e8UL,
<a name="l00734"></a>00734         0xe7bad99bUL, 0x6f4ace36UL, 0x9fead409UL, 0xb029d67cUL,
<a name="l00735"></a>00735         0xa431afb2UL, 0x3f2a3123UL, 0xa5c63094UL, 0xa235c066UL,
<a name="l00736"></a>00736         0x4e7437bcUL, 0x82fca6caUL, 0x90e0b0d0UL, 0xa73315d8UL,
<a name="l00737"></a>00737         0x04f14a98UL, 0xec41f7daUL, 0xcd7f0e50UL, 0x91172ff6UL,
<a name="l00738"></a>00738         0x4d768dd6UL, 0xef434db0UL, 0xaacc544dUL, 0x96e4df04UL,
<a name="l00739"></a>00739         0xd19ee3b5UL, 0x6a4c1b88UL, 0x2cc1b81fUL, 0x65467f51UL,
<a name="l00740"></a>00740         0x5e9d04eaUL, 0x8c015d35UL, 0x87fa7374UL, 0x0bfb2e41UL,
<a name="l00741"></a>00741         0x67b35a1dUL, 0xdb9252d2UL, 0x10e93356UL, 0xd66d1347UL,
<a name="l00742"></a>00742         0xd79a8c61UL, 0xa1377a0cUL, 0xf8598e14UL, 0x13eb893cUL,
<a name="l00743"></a>00743         0xa9ceee27UL, 0x61b735c9UL, 0x1ce1ede5UL, 0x477a3cb1UL,
<a name="l00744"></a>00744         0xd29c59dfUL, 0xf2553f73UL, 0x141879ceUL, 0xc773bf37UL,
<a name="l00745"></a>00745         0xf753eacdUL, 0xfd5f5baaUL, 0x3ddf146fUL, 0x447886dbUL,
<a name="l00746"></a>00746         0xafca81f3UL, 0x68b93ec4UL, 0x24382c34UL, 0xa3c25f40UL,
<a name="l00747"></a>00747         0x1d1672c3UL, 0xe2bc0c25UL, 0x3c288b49UL, 0x0dff4195UL,
<a name="l00748"></a>00748         0xa8397101UL, 0x0c08deb3UL, 0xb4d89ce4UL, 0x566490c1UL,
<a name="l00749"></a>00749         0xcb7b6184UL, 0x32d570b6UL, 0x6c48745cUL, 0xb8d04257UL,
<a name="l00750"></a>00750     }, {
<a name="l00751"></a>00751         0x5150a7f4UL, 0x7e536541UL, 0x1ac3a417UL, 0x3a965e27UL,
<a name="l00752"></a>00752         0x3bcb6babUL, 0x1ff1459dUL, 0xacab58faUL, 0x4b9303e3UL,
<a name="l00753"></a>00753         0x2055fa30UL, 0xadf66d76UL, 0x889176ccUL, 0xf5254c02UL,
<a name="l00754"></a>00754         0x4ffcd7e5UL, 0xc5d7cb2aUL, 0x26804435UL, 0xb58fa362UL,
<a name="l00755"></a>00755         0xde495ab1UL, 0x25671bbaUL, 0x45980eeaUL, 0x5de1c0feUL,
<a name="l00756"></a>00756         0xc302752fUL, 0x8112f04cUL, 0x8da39746UL, 0x6bc6f9d3UL,
<a name="l00757"></a>00757         0x03e75f8fUL, 0x15959c92UL, 0xbfeb7a6dUL, 0x95da5952UL,
<a name="l00758"></a>00758         0xd42d83beUL, 0x58d32174UL, 0x492969e0UL, 0x8e44c8c9UL,
<a name="l00759"></a>00759         0x756a89c2UL, 0xf478798eUL, 0x996b3e58UL, 0x27dd71b9UL,
<a name="l00760"></a>00760         0xbeb64fe1UL, 0xf017ad88UL, 0xc966ac20UL, 0x7db43aceUL,
<a name="l00761"></a>00761         0x63184adfUL, 0xe582311aUL, 0x97603351UL, 0x62457f53UL,
<a name="l00762"></a>00762         0xb1e07764UL, 0xbb84ae6bUL, 0xfe1ca081UL, 0xf9942b08UL,
<a name="l00763"></a>00763         0x70586848UL, 0x8f19fd45UL, 0x94876cdeUL, 0x52b7f87bUL,
<a name="l00764"></a>00764         0xab23d373UL, 0x72e2024bUL, 0xe3578f1fUL, 0x662aab55UL,
<a name="l00765"></a>00765         0xb20728ebUL, 0x2f03c2b5UL, 0x869a7bc5UL, 0xd3a50837UL,
<a name="l00766"></a>00766         0x30f28728UL, 0x23b2a5bfUL, 0x02ba6a03UL, 0xed5c8216UL,
<a name="l00767"></a>00767         0x8a2b1ccfUL, 0xa792b479UL, 0xf3f0f207UL, 0x4ea1e269UL,
<a name="l00768"></a>00768         0x65cdf4daUL, 0x06d5be05UL, 0xd11f6234UL, 0xc48afea6UL,
<a name="l00769"></a>00769         0x349d532eUL, 0xa2a055f3UL, 0x0532e18aUL, 0xa475ebf6UL,
<a name="l00770"></a>00770         0x0b39ec83UL, 0x40aaef60UL, 0x5e069f71UL, 0xbd51106eUL,
<a name="l00771"></a>00771         0x3ef98a21UL, 0x963d06ddUL, 0xddae053eUL, 0x4d46bde6UL,
<a name="l00772"></a>00772         0x91b58d54UL, 0x71055dc4UL, 0x046fd406UL, 0x60ff1550UL,
<a name="l00773"></a>00773         0x1924fb98UL, 0xd697e9bdUL, 0x89cc4340UL, 0x67779ed9UL,
<a name="l00774"></a>00774         0xb0bd42e8UL, 0x07888b89UL, 0xe7385b19UL, 0x79dbeec8UL,
<a name="l00775"></a>00775         0xa1470a7cUL, 0x7ce90f42UL, 0xf8c91e84UL, 0x00000000UL,
<a name="l00776"></a>00776         0x09838680UL, 0x3248ed2bUL, 0x1eac7011UL, 0x6c4e725aUL,
<a name="l00777"></a>00777         0xfdfbff0eUL, 0x0f563885UL, 0x3d1ed5aeUL, 0x3627392dUL,
<a name="l00778"></a>00778         0x0a64d90fUL, 0x6821a65cUL, 0x9bd1545bUL, 0x243a2e36UL,
<a name="l00779"></a>00779         0x0cb1670aUL, 0x930fe757UL, 0xb4d296eeUL, 0x1b9e919bUL,
<a name="l00780"></a>00780         0x804fc5c0UL, 0x61a220dcUL, 0x5a694b77UL, 0x1c161a12UL,
<a name="l00781"></a>00781         0xe20aba93UL, 0xc0e52aa0UL, 0x3c43e022UL, 0x121d171bUL,
<a name="l00782"></a>00782         0x0e0b0d09UL, 0xf2adc78bUL, 0x2db9a8b6UL, 0x14c8a91eUL,
<a name="l00783"></a>00783         0x578519f1UL, 0xaf4c0775UL, 0xeebbdd99UL, 0xa3fd607fUL,
<a name="l00784"></a>00784         0xf79f2601UL, 0x5cbcf572UL, 0x44c53b66UL, 0x5b347efbUL,
<a name="l00785"></a>00785         0x8b762943UL, 0xcbdcc623UL, 0xb668fcedUL, 0xb863f1e4UL,
<a name="l00786"></a>00786         0xd7cadc31UL, 0x42108563UL, 0x13402297UL, 0x842011c6UL,
<a name="l00787"></a>00787         0x857d244aUL, 0xd2f83dbbUL, 0xae1132f9UL, 0xc76da129UL,
<a name="l00788"></a>00788         0x1d4b2f9eUL, 0xdcf330b2UL, 0x0dec5286UL, 0x77d0e3c1UL,
<a name="l00789"></a>00789         0x2b6c16b3UL, 0xa999b970UL, 0x11fa4894UL, 0x472264e9UL,
<a name="l00790"></a>00790         0xa8c48cfcUL, 0xa01a3ff0UL, 0x56d82c7dUL, 0x22ef9033UL,
<a name="l00791"></a>00791         0x87c74e49UL, 0xd9c1d138UL, 0x8cfea2caUL, 0x98360bd4UL,
<a name="l00792"></a>00792         0xa6cf81f5UL, 0xa528de7aUL, 0xda268eb7UL, 0x3fa4bfadUL,
<a name="l00793"></a>00793         0x2ce49d3aUL, 0x500d9278UL, 0x6a9bcc5fUL, 0x5462467eUL,
<a name="l00794"></a>00794         0xf6c2138dUL, 0x90e8b8d8UL, 0x2e5ef739UL, 0x82f5afc3UL,
<a name="l00795"></a>00795         0x9fbe805dUL, 0x697c93d0UL, 0x6fa92dd5UL, 0xcfb31225UL,
<a name="l00796"></a>00796         0xc83b99acUL, 0x10a77d18UL, 0xe86e639cUL, 0xdb7bbb3bUL,
<a name="l00797"></a>00797         0xcd097826UL, 0x6ef41859UL, 0xec01b79aUL, 0x83a89a4fUL,
<a name="l00798"></a>00798         0xe6656e95UL, 0xaa7ee6ffUL, 0x2108cfbcUL, 0xefe6e815UL,
<a name="l00799"></a>00799         0xbad99be7UL, 0x4ace366fUL, 0xead4099fUL, 0x29d67cb0UL,
<a name="l00800"></a>00800         0x31afb2a4UL, 0x2a31233fUL, 0xc63094a5UL, 0x35c066a2UL,
<a name="l00801"></a>00801         0x7437bc4eUL, 0xfca6ca82UL, 0xe0b0d090UL, 0x3315d8a7UL,
<a name="l00802"></a>00802         0xf14a9804UL, 0x41f7daecUL, 0x7f0e50cdUL, 0x172ff691UL,
<a name="l00803"></a>00803         0x768dd64dUL, 0x434db0efUL, 0xcc544daaUL, 0xe4df0496UL,
<a name="l00804"></a>00804         0x9ee3b5d1UL, 0x4c1b886aUL, 0xc1b81f2cUL, 0x467f5165UL,
<a name="l00805"></a>00805         0x9d04ea5eUL, 0x015d358cUL, 0xfa737487UL, 0xfb2e410bUL,
<a name="l00806"></a>00806         0xb35a1d67UL, 0x9252d2dbUL, 0xe9335610UL, 0x6d1347d6UL,
<a name="l00807"></a>00807         0x9a8c61d7UL, 0x377a0ca1UL, 0x598e14f8UL, 0xeb893c13UL,
<a name="l00808"></a>00808         0xceee27a9UL, 0xb735c961UL, 0xe1ede51cUL, 0x7a3cb147UL,
<a name="l00809"></a>00809         0x9c59dfd2UL, 0x553f73f2UL, 0x1879ce14UL, 0x73bf37c7UL,
<a name="l00810"></a>00810         0x53eacdf7UL, 0x5f5baafdUL, 0xdf146f3dUL, 0x7886db44UL,
<a name="l00811"></a>00811         0xca81f3afUL, 0xb93ec468UL, 0x382c3424UL, 0xc25f40a3UL,
<a name="l00812"></a>00812         0x1672c31dUL, 0xbc0c25e2UL, 0x288b493cUL, 0xff41950dUL,
<a name="l00813"></a>00813         0x397101a8UL, 0x08deb30cUL, 0xd89ce4b4UL, 0x6490c156UL,
<a name="l00814"></a>00814         0x7b6184cbUL, 0xd570b632UL, 0x48745c6cUL, 0xd04257b8UL,
<a name="l00815"></a>00815     }
<a name="l00816"></a>00816 };
<a name="l00817"></a>00817 
<a name="l00818"></a>00818 <span class="keyword">const</span> uint32_t IL_TBL[4][256] = {
<a name="l00819"></a>00819     {
<a name="l00820"></a>00820         0x00000052UL, 0x00000009UL, 0x0000006aUL, 0x000000d5UL,
<a name="l00821"></a>00821         0x00000030UL, 0x00000036UL, 0x000000a5UL, 0x00000038UL,
<a name="l00822"></a>00822         0x000000bfUL, 0x00000040UL, 0x000000a3UL, 0x0000009eUL,
<a name="l00823"></a>00823         0x00000081UL, 0x000000f3UL, 0x000000d7UL, 0x000000fbUL,
<a name="l00824"></a>00824         0x0000007cUL, 0x000000e3UL, 0x00000039UL, 0x00000082UL,
<a name="l00825"></a>00825         0x0000009bUL, 0x0000002fUL, 0x000000ffUL, 0x00000087UL,
<a name="l00826"></a>00826         0x00000034UL, 0x0000008eUL, 0x00000043UL, 0x00000044UL,
<a name="l00827"></a>00827         0x000000c4UL, 0x000000deUL, 0x000000e9UL, 0x000000cbUL,
<a name="l00828"></a>00828         0x00000054UL, 0x0000007bUL, 0x00000094UL, 0x00000032UL,
<a name="l00829"></a>00829         0x000000a6UL, 0x000000c2UL, 0x00000023UL, 0x0000003dUL,
<a name="l00830"></a>00830         0x000000eeUL, 0x0000004cUL, 0x00000095UL, 0x0000000bUL,
<a name="l00831"></a>00831         0x00000042UL, 0x000000faUL, 0x000000c3UL, 0x0000004eUL,
<a name="l00832"></a>00832         0x00000008UL, 0x0000002eUL, 0x000000a1UL, 0x00000066UL,
<a name="l00833"></a>00833         0x00000028UL, 0x000000d9UL, 0x00000024UL, 0x000000b2UL,
<a name="l00834"></a>00834         0x00000076UL, 0x0000005bUL, 0x000000a2UL, 0x00000049UL,
<a name="l00835"></a>00835         0x0000006dUL, 0x0000008bUL, 0x000000d1UL, 0x00000025UL,
<a name="l00836"></a>00836         0x00000072UL, 0x000000f8UL, 0x000000f6UL, 0x00000064UL,
<a name="l00837"></a>00837         0x00000086UL, 0x00000068UL, 0x00000098UL, 0x00000016UL,
<a name="l00838"></a>00838         0x000000d4UL, 0x000000a4UL, 0x0000005cUL, 0x000000ccUL,
<a name="l00839"></a>00839         0x0000005dUL, 0x00000065UL, 0x000000b6UL, 0x00000092UL,
<a name="l00840"></a>00840         0x0000006cUL, 0x00000070UL, 0x00000048UL, 0x00000050UL,
<a name="l00841"></a>00841         0x000000fdUL, 0x000000edUL, 0x000000b9UL, 0x000000daUL,
<a name="l00842"></a>00842         0x0000005eUL, 0x00000015UL, 0x00000046UL, 0x00000057UL,
<a name="l00843"></a>00843         0x000000a7UL, 0x0000008dUL, 0x0000009dUL, 0x00000084UL,
<a name="l00844"></a>00844         0x00000090UL, 0x000000d8UL, 0x000000abUL, 0x00000000UL,
<a name="l00845"></a>00845         0x0000008cUL, 0x000000bcUL, 0x000000d3UL, 0x0000000aUL,
<a name="l00846"></a>00846         0x000000f7UL, 0x000000e4UL, 0x00000058UL, 0x00000005UL,
<a name="l00847"></a>00847         0x000000b8UL, 0x000000b3UL, 0x00000045UL, 0x00000006UL,
<a name="l00848"></a>00848         0x000000d0UL, 0x0000002cUL, 0x0000001eUL, 0x0000008fUL,
<a name="l00849"></a>00849         0x000000caUL, 0x0000003fUL, 0x0000000fUL, 0x00000002UL,
<a name="l00850"></a>00850         0x000000c1UL, 0x000000afUL, 0x000000bdUL, 0x00000003UL,
<a name="l00851"></a>00851         0x00000001UL, 0x00000013UL, 0x0000008aUL, 0x0000006bUL,
<a name="l00852"></a>00852         0x0000003aUL, 0x00000091UL, 0x00000011UL, 0x00000041UL,
<a name="l00853"></a>00853         0x0000004fUL, 0x00000067UL, 0x000000dcUL, 0x000000eaUL,
<a name="l00854"></a>00854         0x00000097UL, 0x000000f2UL, 0x000000cfUL, 0x000000ceUL,
<a name="l00855"></a>00855         0x000000f0UL, 0x000000b4UL, 0x000000e6UL, 0x00000073UL,
<a name="l00856"></a>00856         0x00000096UL, 0x000000acUL, 0x00000074UL, 0x00000022UL,
<a name="l00857"></a>00857         0x000000e7UL, 0x000000adUL, 0x00000035UL, 0x00000085UL,
<a name="l00858"></a>00858         0x000000e2UL, 0x000000f9UL, 0x00000037UL, 0x000000e8UL,
<a name="l00859"></a>00859         0x0000001cUL, 0x00000075UL, 0x000000dfUL, 0x0000006eUL,
<a name="l00860"></a>00860         0x00000047UL, 0x000000f1UL, 0x0000001aUL, 0x00000071UL,
<a name="l00861"></a>00861         0x0000001dUL, 0x00000029UL, 0x000000c5UL, 0x00000089UL,
<a name="l00862"></a>00862         0x0000006fUL, 0x000000b7UL, 0x00000062UL, 0x0000000eUL,
<a name="l00863"></a>00863         0x000000aaUL, 0x00000018UL, 0x000000beUL, 0x0000001bUL,
<a name="l00864"></a>00864         0x000000fcUL, 0x00000056UL, 0x0000003eUL, 0x0000004bUL,
<a name="l00865"></a>00865         0x000000c6UL, 0x000000d2UL, 0x00000079UL, 0x00000020UL,
<a name="l00866"></a>00866         0x0000009aUL, 0x000000dbUL, 0x000000c0UL, 0x000000feUL,
<a name="l00867"></a>00867         0x00000078UL, 0x000000cdUL, 0x0000005aUL, 0x000000f4UL,
<a name="l00868"></a>00868         0x0000001fUL, 0x000000ddUL, 0x000000a8UL, 0x00000033UL,
<a name="l00869"></a>00869         0x00000088UL, 0x00000007UL, 0x000000c7UL, 0x00000031UL,
<a name="l00870"></a>00870         0x000000b1UL, 0x00000012UL, 0x00000010UL, 0x00000059UL,
<a name="l00871"></a>00871         0x00000027UL, 0x00000080UL, 0x000000ecUL, 0x0000005fUL,
<a name="l00872"></a>00872         0x00000060UL, 0x00000051UL, 0x0000007fUL, 0x000000a9UL,
<a name="l00873"></a>00873         0x00000019UL, 0x000000b5UL, 0x0000004aUL, 0x0000000dUL,
<a name="l00874"></a>00874         0x0000002dUL, 0x000000e5UL, 0x0000007aUL, 0x0000009fUL,
<a name="l00875"></a>00875         0x00000093UL, 0x000000c9UL, 0x0000009cUL, 0x000000efUL,
<a name="l00876"></a>00876         0x000000a0UL, 0x000000e0UL, 0x0000003bUL, 0x0000004dUL,
<a name="l00877"></a>00877         0x000000aeUL, 0x0000002aUL, 0x000000f5UL, 0x000000b0UL,
<a name="l00878"></a>00878         0x000000c8UL, 0x000000ebUL, 0x000000bbUL, 0x0000003cUL,
<a name="l00879"></a>00879         0x00000083UL, 0x00000053UL, 0x00000099UL, 0x00000061UL,
<a name="l00880"></a>00880         0x00000017UL, 0x0000002bUL, 0x00000004UL, 0x0000007eUL,
<a name="l00881"></a>00881         0x000000baUL, 0x00000077UL, 0x000000d6UL, 0x00000026UL,
<a name="l00882"></a>00882         0x000000e1UL, 0x00000069UL, 0x00000014UL, 0x00000063UL,
<a name="l00883"></a>00883         0x00000055UL, 0x00000021UL, 0x0000000cUL, 0x0000007dUL,
<a name="l00884"></a>00884     }, {
<a name="l00885"></a>00885         0x00005200UL, 0x00000900UL, 0x00006a00UL, 0x0000d500UL,
<a name="l00886"></a>00886         0x00003000UL, 0x00003600UL, 0x0000a500UL, 0x00003800UL,
<a name="l00887"></a>00887         0x0000bf00UL, 0x00004000UL, 0x0000a300UL, 0x00009e00UL,
<a name="l00888"></a>00888         0x00008100UL, 0x0000f300UL, 0x0000d700UL, 0x0000fb00UL,
<a name="l00889"></a>00889         0x00007c00UL, 0x0000e300UL, 0x00003900UL, 0x00008200UL,
<a name="l00890"></a>00890         0x00009b00UL, 0x00002f00UL, 0x0000ff00UL, 0x00008700UL,
<a name="l00891"></a>00891         0x00003400UL, 0x00008e00UL, 0x00004300UL, 0x00004400UL,
<a name="l00892"></a>00892         0x0000c400UL, 0x0000de00UL, 0x0000e900UL, 0x0000cb00UL,
<a name="l00893"></a>00893         0x00005400UL, 0x00007b00UL, 0x00009400UL, 0x00003200UL,
<a name="l00894"></a>00894         0x0000a600UL, 0x0000c200UL, 0x00002300UL, 0x00003d00UL,
<a name="l00895"></a>00895         0x0000ee00UL, 0x00004c00UL, 0x00009500UL, 0x00000b00UL,
<a name="l00896"></a>00896         0x00004200UL, 0x0000fa00UL, 0x0000c300UL, 0x00004e00UL,
<a name="l00897"></a>00897         0x00000800UL, 0x00002e00UL, 0x0000a100UL, 0x00006600UL,
<a name="l00898"></a>00898         0x00002800UL, 0x0000d900UL, 0x00002400UL, 0x0000b200UL,
<a name="l00899"></a>00899         0x00007600UL, 0x00005b00UL, 0x0000a200UL, 0x00004900UL,
<a name="l00900"></a>00900         0x00006d00UL, 0x00008b00UL, 0x0000d100UL, 0x00002500UL,
<a name="l00901"></a>00901         0x00007200UL, 0x0000f800UL, 0x0000f600UL, 0x00006400UL,
<a name="l00902"></a>00902         0x00008600UL, 0x00006800UL, 0x00009800UL, 0x00001600UL,
<a name="l00903"></a>00903         0x0000d400UL, 0x0000a400UL, 0x00005c00UL, 0x0000cc00UL,
<a name="l00904"></a>00904         0x00005d00UL, 0x00006500UL, 0x0000b600UL, 0x00009200UL,
<a name="l00905"></a>00905         0x00006c00UL, 0x00007000UL, 0x00004800UL, 0x00005000UL,
<a name="l00906"></a>00906         0x0000fd00UL, 0x0000ed00UL, 0x0000b900UL, 0x0000da00UL,
<a name="l00907"></a>00907         0x00005e00UL, 0x00001500UL, 0x00004600UL, 0x00005700UL,
<a name="l00908"></a>00908         0x0000a700UL, 0x00008d00UL, 0x00009d00UL, 0x00008400UL,
<a name="l00909"></a>00909         0x00009000UL, 0x0000d800UL, 0x0000ab00UL, 0x00000000UL,
<a name="l00910"></a>00910         0x00008c00UL, 0x0000bc00UL, 0x0000d300UL, 0x00000a00UL,
<a name="l00911"></a>00911         0x0000f700UL, 0x0000e400UL, 0x00005800UL, 0x00000500UL,
<a name="l00912"></a>00912         0x0000b800UL, 0x0000b300UL, 0x00004500UL, 0x00000600UL,
<a name="l00913"></a>00913         0x0000d000UL, 0x00002c00UL, 0x00001e00UL, 0x00008f00UL,
<a name="l00914"></a>00914         0x0000ca00UL, 0x00003f00UL, 0x00000f00UL, 0x00000200UL,
<a name="l00915"></a>00915         0x0000c100UL, 0x0000af00UL, 0x0000bd00UL, 0x00000300UL,
<a name="l00916"></a>00916         0x00000100UL, 0x00001300UL, 0x00008a00UL, 0x00006b00UL,
<a name="l00917"></a>00917         0x00003a00UL, 0x00009100UL, 0x00001100UL, 0x00004100UL,
<a name="l00918"></a>00918         0x00004f00UL, 0x00006700UL, 0x0000dc00UL, 0x0000ea00UL,
<a name="l00919"></a>00919         0x00009700UL, 0x0000f200UL, 0x0000cf00UL, 0x0000ce00UL,
<a name="l00920"></a>00920         0x0000f000UL, 0x0000b400UL, 0x0000e600UL, 0x00007300UL,
<a name="l00921"></a>00921         0x00009600UL, 0x0000ac00UL, 0x00007400UL, 0x00002200UL,
<a name="l00922"></a>00922         0x0000e700UL, 0x0000ad00UL, 0x00003500UL, 0x00008500UL,
<a name="l00923"></a>00923         0x0000e200UL, 0x0000f900UL, 0x00003700UL, 0x0000e800UL,
<a name="l00924"></a>00924         0x00001c00UL, 0x00007500UL, 0x0000df00UL, 0x00006e00UL,
<a name="l00925"></a>00925         0x00004700UL, 0x0000f100UL, 0x00001a00UL, 0x00007100UL,
<a name="l00926"></a>00926         0x00001d00UL, 0x00002900UL, 0x0000c500UL, 0x00008900UL,
<a name="l00927"></a>00927         0x00006f00UL, 0x0000b700UL, 0x00006200UL, 0x00000e00UL,
<a name="l00928"></a>00928         0x0000aa00UL, 0x00001800UL, 0x0000be00UL, 0x00001b00UL,
<a name="l00929"></a>00929         0x0000fc00UL, 0x00005600UL, 0x00003e00UL, 0x00004b00UL,
<a name="l00930"></a>00930         0x0000c600UL, 0x0000d200UL, 0x00007900UL, 0x00002000UL,
<a name="l00931"></a>00931         0x00009a00UL, 0x0000db00UL, 0x0000c000UL, 0x0000fe00UL,
<a name="l00932"></a>00932         0x00007800UL, 0x0000cd00UL, 0x00005a00UL, 0x0000f400UL,
<a name="l00933"></a>00933         0x00001f00UL, 0x0000dd00UL, 0x0000a800UL, 0x00003300UL,
<a name="l00934"></a>00934         0x00008800UL, 0x00000700UL, 0x0000c700UL, 0x00003100UL,
<a name="l00935"></a>00935         0x0000b100UL, 0x00001200UL, 0x00001000UL, 0x00005900UL,
<a name="l00936"></a>00936         0x00002700UL, 0x00008000UL, 0x0000ec00UL, 0x00005f00UL,
<a name="l00937"></a>00937         0x00006000UL, 0x00005100UL, 0x00007f00UL, 0x0000a900UL,
<a name="l00938"></a>00938         0x00001900UL, 0x0000b500UL, 0x00004a00UL, 0x00000d00UL,
<a name="l00939"></a>00939         0x00002d00UL, 0x0000e500UL, 0x00007a00UL, 0x00009f00UL,
<a name="l00940"></a>00940         0x00009300UL, 0x0000c900UL, 0x00009c00UL, 0x0000ef00UL,
<a name="l00941"></a>00941         0x0000a000UL, 0x0000e000UL, 0x00003b00UL, 0x00004d00UL,
<a name="l00942"></a>00942         0x0000ae00UL, 0x00002a00UL, 0x0000f500UL, 0x0000b000UL,
<a name="l00943"></a>00943         0x0000c800UL, 0x0000eb00UL, 0x0000bb00UL, 0x00003c00UL,
<a name="l00944"></a>00944         0x00008300UL, 0x00005300UL, 0x00009900UL, 0x00006100UL,
<a name="l00945"></a>00945         0x00001700UL, 0x00002b00UL, 0x00000400UL, 0x00007e00UL,
<a name="l00946"></a>00946         0x0000ba00UL, 0x00007700UL, 0x0000d600UL, 0x00002600UL,
<a name="l00947"></a>00947         0x0000e100UL, 0x00006900UL, 0x00001400UL, 0x00006300UL,
<a name="l00948"></a>00948         0x00005500UL, 0x00002100UL, 0x00000c00UL, 0x00007d00UL,
<a name="l00949"></a>00949     }, {
<a name="l00950"></a>00950         0x00520000UL, 0x00090000UL, 0x006a0000UL, 0x00d50000UL,
<a name="l00951"></a>00951         0x00300000UL, 0x00360000UL, 0x00a50000UL, 0x00380000UL,
<a name="l00952"></a>00952         0x00bf0000UL, 0x00400000UL, 0x00a30000UL, 0x009e0000UL,
<a name="l00953"></a>00953         0x00810000UL, 0x00f30000UL, 0x00d70000UL, 0x00fb0000UL,
<a name="l00954"></a>00954         0x007c0000UL, 0x00e30000UL, 0x00390000UL, 0x00820000UL,
<a name="l00955"></a>00955         0x009b0000UL, 0x002f0000UL, 0x00ff0000UL, 0x00870000UL,
<a name="l00956"></a>00956         0x00340000UL, 0x008e0000UL, 0x00430000UL, 0x00440000UL,
<a name="l00957"></a>00957         0x00c40000UL, 0x00de0000UL, 0x00e90000UL, 0x00cb0000UL,
<a name="l00958"></a>00958         0x00540000UL, 0x007b0000UL, 0x00940000UL, 0x00320000UL,
<a name="l00959"></a>00959         0x00a60000UL, 0x00c20000UL, 0x00230000UL, 0x003d0000UL,
<a name="l00960"></a>00960         0x00ee0000UL, 0x004c0000UL, 0x00950000UL, 0x000b0000UL,
<a name="l00961"></a>00961         0x00420000UL, 0x00fa0000UL, 0x00c30000UL, 0x004e0000UL,
<a name="l00962"></a>00962         0x00080000UL, 0x002e0000UL, 0x00a10000UL, 0x00660000UL,
<a name="l00963"></a>00963         0x00280000UL, 0x00d90000UL, 0x00240000UL, 0x00b20000UL,
<a name="l00964"></a>00964         0x00760000UL, 0x005b0000UL, 0x00a20000UL, 0x00490000UL,
<a name="l00965"></a>00965         0x006d0000UL, 0x008b0000UL, 0x00d10000UL, 0x00250000UL,
<a name="l00966"></a>00966         0x00720000UL, 0x00f80000UL, 0x00f60000UL, 0x00640000UL,
<a name="l00967"></a>00967         0x00860000UL, 0x00680000UL, 0x00980000UL, 0x00160000UL,
<a name="l00968"></a>00968         0x00d40000UL, 0x00a40000UL, 0x005c0000UL, 0x00cc0000UL,
<a name="l00969"></a>00969         0x005d0000UL, 0x00650000UL, 0x00b60000UL, 0x00920000UL,
<a name="l00970"></a>00970         0x006c0000UL, 0x00700000UL, 0x00480000UL, 0x00500000UL,
<a name="l00971"></a>00971         0x00fd0000UL, 0x00ed0000UL, 0x00b90000UL, 0x00da0000UL,
<a name="l00972"></a>00972         0x005e0000UL, 0x00150000UL, 0x00460000UL, 0x00570000UL,
<a name="l00973"></a>00973         0x00a70000UL, 0x008d0000UL, 0x009d0000UL, 0x00840000UL,
<a name="l00974"></a>00974         0x00900000UL, 0x00d80000UL, 0x00ab0000UL, 0x00000000UL,
<a name="l00975"></a>00975         0x008c0000UL, 0x00bc0000UL, 0x00d30000UL, 0x000a0000UL,
<a name="l00976"></a>00976         0x00f70000UL, 0x00e40000UL, 0x00580000UL, 0x00050000UL,
<a name="l00977"></a>00977         0x00b80000UL, 0x00b30000UL, 0x00450000UL, 0x00060000UL,
<a name="l00978"></a>00978         0x00d00000UL, 0x002c0000UL, 0x001e0000UL, 0x008f0000UL,
<a name="l00979"></a>00979         0x00ca0000UL, 0x003f0000UL, 0x000f0000UL, 0x00020000UL,
<a name="l00980"></a>00980         0x00c10000UL, 0x00af0000UL, 0x00bd0000UL, 0x00030000UL,
<a name="l00981"></a>00981         0x00010000UL, 0x00130000UL, 0x008a0000UL, 0x006b0000UL,
<a name="l00982"></a>00982         0x003a0000UL, 0x00910000UL, 0x00110000UL, 0x00410000UL,
<a name="l00983"></a>00983         0x004f0000UL, 0x00670000UL, 0x00dc0000UL, 0x00ea0000UL,
<a name="l00984"></a>00984         0x00970000UL, 0x00f20000UL, 0x00cf0000UL, 0x00ce0000UL,
<a name="l00985"></a>00985         0x00f00000UL, 0x00b40000UL, 0x00e60000UL, 0x00730000UL,
<a name="l00986"></a>00986         0x00960000UL, 0x00ac0000UL, 0x00740000UL, 0x00220000UL,
<a name="l00987"></a>00987         0x00e70000UL, 0x00ad0000UL, 0x00350000UL, 0x00850000UL,
<a name="l00988"></a>00988         0x00e20000UL, 0x00f90000UL, 0x00370000UL, 0x00e80000UL,
<a name="l00989"></a>00989         0x001c0000UL, 0x00750000UL, 0x00df0000UL, 0x006e0000UL,
<a name="l00990"></a>00990         0x00470000UL, 0x00f10000UL, 0x001a0000UL, 0x00710000UL,
<a name="l00991"></a>00991         0x001d0000UL, 0x00290000UL, 0x00c50000UL, 0x00890000UL,
<a name="l00992"></a>00992         0x006f0000UL, 0x00b70000UL, 0x00620000UL, 0x000e0000UL,
<a name="l00993"></a>00993         0x00aa0000UL, 0x00180000UL, 0x00be0000UL, 0x001b0000UL,
<a name="l00994"></a>00994         0x00fc0000UL, 0x00560000UL, 0x003e0000UL, 0x004b0000UL,
<a name="l00995"></a>00995         0x00c60000UL, 0x00d20000UL, 0x00790000UL, 0x00200000UL,
<a name="l00996"></a>00996         0x009a0000UL, 0x00db0000UL, 0x00c00000UL, 0x00fe0000UL,
<a name="l00997"></a>00997         0x00780000UL, 0x00cd0000UL, 0x005a0000UL, 0x00f40000UL,
<a name="l00998"></a>00998         0x001f0000UL, 0x00dd0000UL, 0x00a80000UL, 0x00330000UL,
<a name="l00999"></a>00999         0x00880000UL, 0x00070000UL, 0x00c70000UL, 0x00310000UL,
<a name="l01000"></a>01000         0x00b10000UL, 0x00120000UL, 0x00100000UL, 0x00590000UL,
<a name="l01001"></a>01001         0x00270000UL, 0x00800000UL, 0x00ec0000UL, 0x005f0000UL,
<a name="l01002"></a>01002         0x00600000UL, 0x00510000UL, 0x007f0000UL, 0x00a90000UL,
<a name="l01003"></a>01003         0x00190000UL, 0x00b50000UL, 0x004a0000UL, 0x000d0000UL,
<a name="l01004"></a>01004         0x002d0000UL, 0x00e50000UL, 0x007a0000UL, 0x009f0000UL,
<a name="l01005"></a>01005         0x00930000UL, 0x00c90000UL, 0x009c0000UL, 0x00ef0000UL,
<a name="l01006"></a>01006         0x00a00000UL, 0x00e00000UL, 0x003b0000UL, 0x004d0000UL,
<a name="l01007"></a>01007         0x00ae0000UL, 0x002a0000UL, 0x00f50000UL, 0x00b00000UL,
<a name="l01008"></a>01008         0x00c80000UL, 0x00eb0000UL, 0x00bb0000UL, 0x003c0000UL,
<a name="l01009"></a>01009         0x00830000UL, 0x00530000UL, 0x00990000UL, 0x00610000UL,
<a name="l01010"></a>01010         0x00170000UL, 0x002b0000UL, 0x00040000UL, 0x007e0000UL,
<a name="l01011"></a>01011         0x00ba0000UL, 0x00770000UL, 0x00d60000UL, 0x00260000UL,
<a name="l01012"></a>01012         0x00e10000UL, 0x00690000UL, 0x00140000UL, 0x00630000UL,
<a name="l01013"></a>01013         0x00550000UL, 0x00210000UL, 0x000c0000UL, 0x007d0000UL,
<a name="l01014"></a>01014     }, {
<a name="l01015"></a>01015         0x52000000UL, 0x09000000UL, 0x6a000000UL, 0xd5000000UL,
<a name="l01016"></a>01016         0x30000000UL, 0x36000000UL, 0xa5000000UL, 0x38000000UL,
<a name="l01017"></a>01017         0xbf000000UL, 0x40000000UL, 0xa3000000UL, 0x9e000000UL,
<a name="l01018"></a>01018         0x81000000UL, 0xf3000000UL, 0xd7000000UL, 0xfb000000UL,
<a name="l01019"></a>01019         0x7c000000UL, 0xe3000000UL, 0x39000000UL, 0x82000000UL,
<a name="l01020"></a>01020         0x9b000000UL, 0x2f000000UL, 0xff000000UL, 0x87000000UL,
<a name="l01021"></a>01021         0x34000000UL, 0x8e000000UL, 0x43000000UL, 0x44000000UL,
<a name="l01022"></a>01022         0xc4000000UL, 0xde000000UL, 0xe9000000UL, 0xcb000000UL,
<a name="l01023"></a>01023         0x54000000UL, 0x7b000000UL, 0x94000000UL, 0x32000000UL,
<a name="l01024"></a>01024         0xa6000000UL, 0xc2000000UL, 0x23000000UL, 0x3d000000UL,
<a name="l01025"></a>01025         0xee000000UL, 0x4c000000UL, 0x95000000UL, 0x0b000000UL,
<a name="l01026"></a>01026         0x42000000UL, 0xfa000000UL, 0xc3000000UL, 0x4e000000UL,
<a name="l01027"></a>01027         0x08000000UL, 0x2e000000UL, 0xa1000000UL, 0x66000000UL,
<a name="l01028"></a>01028         0x28000000UL, 0xd9000000UL, 0x24000000UL, 0xb2000000UL,
<a name="l01029"></a>01029         0x76000000UL, 0x5b000000UL, 0xa2000000UL, 0x49000000UL,
<a name="l01030"></a>01030         0x6d000000UL, 0x8b000000UL, 0xd1000000UL, 0x25000000UL,
<a name="l01031"></a>01031         0x72000000UL, 0xf8000000UL, 0xf6000000UL, 0x64000000UL,
<a name="l01032"></a>01032         0x86000000UL, 0x68000000UL, 0x98000000UL, 0x16000000UL,
<a name="l01033"></a>01033         0xd4000000UL, 0xa4000000UL, 0x5c000000UL, 0xcc000000UL,
<a name="l01034"></a>01034         0x5d000000UL, 0x65000000UL, 0xb6000000UL, 0x92000000UL,
<a name="l01035"></a>01035         0x6c000000UL, 0x70000000UL, 0x48000000UL, 0x50000000UL,
<a name="l01036"></a>01036         0xfd000000UL, 0xed000000UL, 0xb9000000UL, 0xda000000UL,
<a name="l01037"></a>01037         0x5e000000UL, 0x15000000UL, 0x46000000UL, 0x57000000UL,
<a name="l01038"></a>01038         0xa7000000UL, 0x8d000000UL, 0x9d000000UL, 0x84000000UL,
<a name="l01039"></a>01039         0x90000000UL, 0xd8000000UL, 0xab000000UL, 0x00000000UL,
<a name="l01040"></a>01040         0x8c000000UL, 0xbc000000UL, 0xd3000000UL, 0x0a000000UL,
<a name="l01041"></a>01041         0xf7000000UL, 0xe4000000UL, 0x58000000UL, 0x05000000UL,
<a name="l01042"></a>01042         0xb8000000UL, 0xb3000000UL, 0x45000000UL, 0x06000000UL,
<a name="l01043"></a>01043         0xd0000000UL, 0x2c000000UL, 0x1e000000UL, 0x8f000000UL,
<a name="l01044"></a>01044         0xca000000UL, 0x3f000000UL, 0x0f000000UL, 0x02000000UL,
<a name="l01045"></a>01045         0xc1000000UL, 0xaf000000UL, 0xbd000000UL, 0x03000000UL,
<a name="l01046"></a>01046         0x01000000UL, 0x13000000UL, 0x8a000000UL, 0x6b000000UL,
<a name="l01047"></a>01047         0x3a000000UL, 0x91000000UL, 0x11000000UL, 0x41000000UL,
<a name="l01048"></a>01048         0x4f000000UL, 0x67000000UL, 0xdc000000UL, 0xea000000UL,
<a name="l01049"></a>01049         0x97000000UL, 0xf2000000UL, 0xcf000000UL, 0xce000000UL,
<a name="l01050"></a>01050         0xf0000000UL, 0xb4000000UL, 0xe6000000UL, 0x73000000UL,
<a name="l01051"></a>01051         0x96000000UL, 0xac000000UL, 0x74000000UL, 0x22000000UL,
<a name="l01052"></a>01052         0xe7000000UL, 0xad000000UL, 0x35000000UL, 0x85000000UL,
<a name="l01053"></a>01053         0xe2000000UL, 0xf9000000UL, 0x37000000UL, 0xe8000000UL,
<a name="l01054"></a>01054         0x1c000000UL, 0x75000000UL, 0xdf000000UL, 0x6e000000UL,
<a name="l01055"></a>01055         0x47000000UL, 0xf1000000UL, 0x1a000000UL, 0x71000000UL,
<a name="l01056"></a>01056         0x1d000000UL, 0x29000000UL, 0xc5000000UL, 0x89000000UL,
<a name="l01057"></a>01057         0x6f000000UL, 0xb7000000UL, 0x62000000UL, 0x0e000000UL,
<a name="l01058"></a>01058         0xaa000000UL, 0x18000000UL, 0xbe000000UL, 0x1b000000UL,
<a name="l01059"></a>01059         0xfc000000UL, 0x56000000UL, 0x3e000000UL, 0x4b000000UL,
<a name="l01060"></a>01060         0xc6000000UL, 0xd2000000UL, 0x79000000UL, 0x20000000UL,
<a name="l01061"></a>01061         0x9a000000UL, 0xdb000000UL, 0xc0000000UL, 0xfe000000UL,
<a name="l01062"></a>01062         0x78000000UL, 0xcd000000UL, 0x5a000000UL, 0xf4000000UL,
<a name="l01063"></a>01063         0x1f000000UL, 0xdd000000UL, 0xa8000000UL, 0x33000000UL,
<a name="l01064"></a>01064         0x88000000UL, 0x07000000UL, 0xc7000000UL, 0x31000000UL,
<a name="l01065"></a>01065         0xb1000000UL, 0x12000000UL, 0x10000000UL, 0x59000000UL,
<a name="l01066"></a>01066         0x27000000UL, 0x80000000UL, 0xec000000UL, 0x5f000000UL,
<a name="l01067"></a>01067         0x60000000UL, 0x51000000UL, 0x7f000000UL, 0xa9000000UL,
<a name="l01068"></a>01068         0x19000000UL, 0xb5000000UL, 0x4a000000UL, 0x0d000000UL,
<a name="l01069"></a>01069         0x2d000000UL, 0xe5000000UL, 0x7a000000UL, 0x9f000000UL,
<a name="l01070"></a>01070         0x93000000UL, 0xc9000000UL, 0x9c000000UL, 0xef000000UL,
<a name="l01071"></a>01071         0xa0000000UL, 0xe0000000UL, 0x3b000000UL, 0x4d000000UL,
<a name="l01072"></a>01072         0xae000000UL, 0x2a000000UL, 0xf5000000UL, 0xb0000000UL,
<a name="l01073"></a>01073         0xc8000000UL, 0xeb000000UL, 0xbb000000UL, 0x3c000000UL,
<a name="l01074"></a>01074         0x83000000UL, 0x53000000UL, 0x99000000UL, 0x61000000UL,
<a name="l01075"></a>01075         0x17000000UL, 0x2b000000UL, 0x04000000UL, 0x7e000000UL,
<a name="l01076"></a>01076         0xba000000UL, 0x77000000UL, 0xd6000000UL, 0x26000000UL,
<a name="l01077"></a>01077         0xe1000000UL, 0x69000000UL, 0x14000000UL, 0x63000000UL,
<a name="l01078"></a>01078         0x55000000UL, 0x21000000UL, 0x0c000000UL, 0x7d000000UL,
<a name="l01079"></a>01079     }
<a name="l01080"></a>01080 };
<a name="l01081"></a>01081 
<a name="l01082"></a>01082 <span class="preprocessor">#define TURN(x, n) (((x) &gt;&gt; ((n) &lt;&lt; 3)) &amp; 0xFF)</span>
<a name="l01083"></a>01083 <span class="preprocessor"></span>
<a name="l01084"></a>01084 <span class="preprocessor">#define STAR_X(x) \</span>
<a name="l01085"></a>01085 <span class="preprocessor">    (((x) &amp; 0x7F7F7F7FUL) &lt;&lt; 1) ^ \</span>
<a name="l01086"></a>01086 <span class="preprocessor">    ((((x) &amp; 0x80808080UL) &gt;&gt; 7) * 0x1B)</span>
<a name="l01087"></a>01087 <span class="preprocessor"></span>
<a name="l01088"></a>01088 <span class="preprocessor">#define IMIX_COL(y, x) do {         \</span>
<a name="l01089"></a>01089 <span class="preprocessor">        u = STAR_X(x);              \</span>
<a name="l01090"></a>01090 <span class="preprocessor">        v = STAR_X(u);              \</span>
<a name="l01091"></a>01091 <span class="preprocessor">        w = STAR_X(v);              \</span>
<a name="l01092"></a>01092 <span class="preprocessor">        t = w ^ (x);                \</span>
<a name="l01093"></a>01093 <span class="preprocessor">        (y) = u ^ v ^ w;            \</span>
<a name="l01094"></a>01094 <span class="preprocessor">        (y) ^= __ror32(u ^ t, 8) ^  \</span>
<a name="l01095"></a>01095 <span class="preprocessor">            __ror32(v ^ t, 16) ^    \</span>
<a name="l01096"></a>01096 <span class="preprocessor">            __ror32(t, 24);         \</span>
<a name="l01097"></a>01097 <span class="preprocessor">    } while (0)</span>
<a name="l01098"></a>01098 <span class="preprocessor"></span>
<a name="l01099"></a>01099 <span class="preprocessor">#define LS_BOX(x)                                   \</span>
<a name="l01100"></a>01100 <span class="preprocessor">    FL_TBL[0][TURN(x, 0)] ^ FL_TBL[1][TURN(x, 1)] ^ \</span>
<a name="l01101"></a>01101 <span class="preprocessor">    FL_TBL[2][TURN(x, 2)] ^ FL_TBL[3][TURN(x, 3)]</span>
<a name="l01102"></a>01102 <span class="preprocessor"></span>
<a name="l01103"></a>01103 <span class="preprocessor">#define LOOP4(i) do {                                   \</span>
<a name="l01104"></a>01104 <span class="preprocessor">        t = __ror32(t, 8);                              \</span>
<a name="l01105"></a>01105 <span class="preprocessor">        t = LS_BOX(t) ^ RCO_TBL[i];                     \</span>
<a name="l01106"></a>01106 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 2)    ]; esk[(i &lt;&lt; 2) + 4] = t;  \</span>
<a name="l01107"></a>01107 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 2) + 1]; esk[(i &lt;&lt; 2) + 5] = t;  \</span>
<a name="l01108"></a>01108 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 2) + 2]; esk[(i &lt;&lt; 2) + 6] = t;  \</span>
<a name="l01109"></a>01109 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 2) + 3]; esk[(i &lt;&lt; 2) + 7] = t;  \</span>
<a name="l01110"></a>01110 <span class="preprocessor">    } while (0)</span>
<a name="l01111"></a>01111 <span class="preprocessor"></span>
<a name="l01112"></a>01112 <span class="preprocessor">#define LOOP6(i) do {                               \</span>
<a name="l01113"></a>01113 <span class="preprocessor">        t = __ror32(t, 8);                          \</span>
<a name="l01114"></a>01114 <span class="preprocessor">        t = LS_BOX(t) ^ RCO_TBL[i];                 \</span>
<a name="l01115"></a>01115 <span class="preprocessor">        t ^= esk[6 * i    ]; esk[6 * i +  6] = t;   \</span>
<a name="l01116"></a>01116 <span class="preprocessor">        t ^= esk[6 * i + 1]; esk[6 * i +  7] = t;   \</span>
<a name="l01117"></a>01117 <span class="preprocessor">        t ^= esk[6 * i + 2]; esk[6 * i +  8] = t;   \</span>
<a name="l01118"></a>01118 <span class="preprocessor">        t ^= esk[6 * i + 3]; esk[6 * i +  9] = t;   \</span>
<a name="l01119"></a>01119 <span class="preprocessor">        t ^= esk[6 * i + 4]; esk[6 * i + 10] = t;   \</span>
<a name="l01120"></a>01120 <span class="preprocessor">        t ^= esk[6 * i + 5]; esk[6 * i + 11] = t;   \</span>
<a name="l01121"></a>01121 <span class="preprocessor">    } while (0)</span>
<a name="l01122"></a>01122 <span class="preprocessor"></span>
<a name="l01123"></a>01123 <span class="preprocessor">#define LOOP8_TOPHALF(i) do {                               \</span>
<a name="l01124"></a>01124 <span class="preprocessor">        t = __ror32(t, 8);                                  \</span>
<a name="l01125"></a>01125 <span class="preprocessor">        t = LS_BOX(t) ^ RCO_TBL[i];                         \</span>
<a name="l01126"></a>01126 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3)    ]; esk[(i &lt;&lt; 3) +  8] = t;     \</span>
<a name="l01127"></a>01127 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3) + 1]; esk[(i &lt;&lt; 3) +  9] = t;     \</span>
<a name="l01128"></a>01128 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3) + 2]; esk[(i &lt;&lt; 3) + 10] = t;     \</span>
<a name="l01129"></a>01129 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3) + 3]; esk[(i &lt;&lt; 3) + 11] = t;     \</span>
<a name="l01130"></a>01130 <span class="preprocessor">    } while (0)</span>
<a name="l01131"></a>01131 <span class="preprocessor"></span>
<a name="l01132"></a>01132 <span class="preprocessor">#define LOOP8(i) do {                                       \</span>
<a name="l01133"></a>01133 <span class="preprocessor">        LOOP8_TOPHALF(i);                                   \</span>
<a name="l01134"></a>01134 <span class="preprocessor">        t  = esk[(i &lt;&lt; 3) + 4] ^ LS_BOX(t);                 \</span>
<a name="l01135"></a>01135 <span class="preprocessor">        esk[(i &lt;&lt; 3) + 12] = t;                             \</span>
<a name="l01136"></a>01136 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3) + 5]; esk[(i &lt;&lt; 3) + 13] = t;     \</span>
<a name="l01137"></a>01137 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3) + 6]; esk[(i &lt;&lt; 3) + 14] = t;     \</span>
<a name="l01138"></a>01138 <span class="preprocessor">        t ^= esk[(i &lt;&lt; 3) + 7]; esk[(i &lt;&lt; 3) + 15] = t;     \</span>
<a name="l01139"></a>01139 <span class="preprocessor">    } while (0)</span>
<a name="l01140"></a>01140 <span class="preprocessor"></span>
<a name="l01141"></a>01141 <span class="comment">/* 加密明文块 */</span>
<a name="l01142"></a>01142 <span class="preprocessor">#define F_RN(bo, bi, n, k) do {\</span>
<a name="l01143"></a>01143 <span class="preprocessor">        bo[n] = FT_TBL[0][TURN(bi[n], 0)] ^                 \</span>
<a name="l01144"></a>01144 <span class="preprocessor">            FT_TBL[1][TURN(bi[(n + 1) &amp; 3], 1)] ^           \</span>
<a name="l01145"></a>01145 <span class="preprocessor">            FT_TBL[2][TURN(bi[(n + 2) &amp; 3], 2)] ^           \</span>
<a name="l01146"></a>01146 <span class="preprocessor">            FT_TBL[3][TURN(bi[(n + 3) &amp; 3], 3)] ^ *(k + n); \</span>
<a name="l01147"></a>01147 <span class="preprocessor">    } while (0)</span>
<a name="l01148"></a>01148 <span class="preprocessor"></span>
<a name="l01149"></a>01149 <span class="preprocessor">#define F_NROUND(bo, bi, k) do {                \</span>
<a name="l01150"></a>01150 <span class="preprocessor">        F_RN(bo, bi, 0, k); F_RN(bo, bi, 1, k); \</span>
<a name="l01151"></a>01151 <span class="preprocessor">        F_RN(bo, bi, 2, k); F_RN(bo, bi, 3, k); \</span>
<a name="l01152"></a>01152 <span class="preprocessor">        k += 4;                                 \</span>
<a name="l01153"></a>01153 <span class="preprocessor">    } while (0)</span>
<a name="l01154"></a>01154 <span class="preprocessor"></span>
<a name="l01155"></a>01155 <span class="preprocessor">#define F_RL(bo, bi, n, k) do {                                 \</span>
<a name="l01156"></a>01156 <span class="preprocessor">        bo[n] = FL_TBL[0][TURN(bi[n], 0)] ^                     \</span>
<a name="l01157"></a>01157 <span class="preprocessor">            FL_TBL[1][TURN(bi[(n + 1) &amp; 3], 1)] ^               \</span>
<a name="l01158"></a>01158 <span class="preprocessor">            FL_TBL[2][TURN(bi[(n + 2) &amp; 3], 2)] ^               \</span>
<a name="l01159"></a>01159 <span class="preprocessor">            FL_TBL[3][TURN(bi[(n + 3) &amp; 3], 3)] ^ *(k + n);     \</span>
<a name="l01160"></a>01160 <span class="preprocessor">    } while (0)</span>
<a name="l01161"></a>01161 <span class="preprocessor"></span>
<a name="l01162"></a>01162 <span class="preprocessor">#define F_LROUND(bo, bi, k) do {                    \</span>
<a name="l01163"></a>01163 <span class="preprocessor">        F_RL(bo, bi, 0, k); F_RL(bo, bi, 1, k);     \</span>
<a name="l01164"></a>01164 <span class="preprocessor">        F_RL(bo, bi, 2, k); F_RL(bo, bi, 3, k);     \</span>
<a name="l01165"></a>01165 <span class="preprocessor">    } while (0)</span>
<a name="l01166"></a>01166 <span class="preprocessor"></span>
<a name="l01167"></a>01167 <span class="comment">/* 解密密文块 */</span>
<a name="l01168"></a>01168 <span class="preprocessor">#define I_RN(bo, bi, n, k) do {                                 \</span>
<a name="l01169"></a>01169 <span class="preprocessor">        bo[n] = IT_TBL[0][TURN(bi[n], 0)] ^                     \</span>
<a name="l01170"></a>01170 <span class="preprocessor">            IT_TBL[1][TURN(bi[(n + 3) &amp; 3], 1)] ^               \</span>
<a name="l01171"></a>01171 <span class="preprocessor">            IT_TBL[2][TURN(bi[(n + 2) &amp; 3], 2)] ^               \</span>
<a name="l01172"></a>01172 <span class="preprocessor">            IT_TBL[3][TURN(bi[(n + 1) &amp; 3], 3)] ^ *(k + n);     \</span>
<a name="l01173"></a>01173 <span class="preprocessor">    } while (0)</span>
<a name="l01174"></a>01174 <span class="preprocessor"></span>
<a name="l01175"></a>01175 <span class="preprocessor">#define I_NROUND(bo, bi, k) do {                \</span>
<a name="l01176"></a>01176 <span class="preprocessor">        I_RN(bo, bi, 0, k); I_RN(bo, bi, 1, k); \</span>
<a name="l01177"></a>01177 <span class="preprocessor">        I_RN(bo, bi, 2, k); I_RN(bo, bi, 3, k); \</span>
<a name="l01178"></a>01178 <span class="preprocessor">        k += 4;                                 \</span>
<a name="l01179"></a>01179 <span class="preprocessor">    } while (0)</span>
<a name="l01180"></a>01180 <span class="preprocessor"></span>
<a name="l01181"></a>01181 <span class="preprocessor">#define I_RL(bo, bi, n, k) do {                             \</span>
<a name="l01182"></a>01182 <span class="preprocessor">        bo[n] = IL_TBL[0][TURN(bi[n], 0)] ^                 \</span>
<a name="l01183"></a>01183 <span class="preprocessor">        IL_TBL[1][TURN(bi[(n + 3) &amp; 3], 1)] ^               \</span>
<a name="l01184"></a>01184 <span class="preprocessor">        IL_TBL[2][TURN(bi[(n + 2) &amp; 3], 2)] ^               \</span>
<a name="l01185"></a>01185 <span class="preprocessor">        IL_TBL[3][TURN(bi[(n + 1) &amp; 3], 3)] ^ *(k + n);     \</span>
<a name="l01186"></a>01186 <span class="preprocessor">    } while (0)</span>
<a name="l01187"></a>01187 <span class="preprocessor"></span>
<a name="l01188"></a>01188 <span class="preprocessor">#define I_LROUND(bo, bi, k) do {                    \</span>
<a name="l01189"></a>01189 <span class="preprocessor">        I_RL(bo, bi, 0, k); I_RL(bo, bi, 1, k);     \</span>
<a name="l01190"></a>01190 <span class="preprocessor">        I_RL(bo, bi, 2, k); I_RL(bo, bi, 3, k);     \</span>
<a name="l01191"></a>01191 <span class="preprocessor">    } while (0)</span>
<a name="l01192"></a>01192 <span class="preprocessor"></span>
<a name="l01193"></a>01193 NV_IMPL <span class="keywordtype">int</span> __aes_set_key(<a class="code" href="structaes__key.html" title="AES密钥">aes_key</a>* key, uint32_t* src_key, <span class="keywordtype">size_t</span> cnt)
<a name="l01194"></a>01194 {
<a name="l01195"></a>01195     uint32_t i, t, u, v, w, j, *esk, *dsk;
<a name="l01196"></a>01196 
<a name="l01197"></a>01197     <span class="keywordflow">if</span> (cnt != AES_KEYSIZE_128 &amp;&amp;
<a name="l01198"></a>01198         cnt != AES_KEYSIZE_192 &amp;&amp;
<a name="l01199"></a>01199         cnt != AES_KEYSIZE_256 )
<a name="l01200"></a>01200         <span class="keywordflow">return</span> 0;
<a name="l01201"></a>01201 
<a name="l01202"></a>01202     key-&gt;<a class="code" href="structaes__key.html#a884497f3269a8ae82bcd0a4814997702" title="密钥长度">cnt</a> = cnt;
<a name="l01203"></a>01203     esk = key-&gt;<a class="code" href="structaes__key.html#aa9fe0559bf9c499890dc92f31dfbe1b1" title="加密钥">esk</a>;
<a name="l01204"></a>01204     dsk = key-&gt;<a class="code" href="structaes__key.html#ae125f2394145396528aced57872cfd42" title="解密钥">dsk</a>;
<a name="l01205"></a>01205 
<a name="l01206"></a>01206     dsk[cnt + 24] = esk[0] = __le32_to_cpu(src_key[0]);
<a name="l01207"></a>01207     dsk[cnt + 25] = esk[1] = __le32_to_cpu(src_key[1]);
<a name="l01208"></a>01208     dsk[cnt + 26] = esk[2] = __le32_to_cpu(src_key[2]);
<a name="l01209"></a>01209     dsk[cnt + 27] = esk[3] = __le32_to_cpu(src_key[3]);
<a name="l01210"></a>01210 
<a name="l01211"></a>01211     <span class="keywordflow">switch</span> (cnt) {
<a name="l01212"></a>01212     <span class="keywordflow">case</span> AES_KEYSIZE_128:
<a name="l01213"></a>01213         t = esk[3];
<a name="l01214"></a>01214         <span class="keywordflow">for</span> (i = 0; i &lt; 10; ++i)
<a name="l01215"></a>01215             LOOP4(i);
<a name="l01216"></a>01216         <span class="keywordflow">break</span>;
<a name="l01217"></a>01217 
<a name="l01218"></a>01218     <span class="keywordflow">case</span> AES_KEYSIZE_192:
<a name="l01219"></a>01219         esk[4] = __le32_to_cpu(src_key[4]);
<a name="l01220"></a>01220         esk[5] = t = __le32_to_cpu(src_key[5]);
<a name="l01221"></a>01221         <span class="keywordflow">for</span> (i = 0; i &lt; 8; ++i)
<a name="l01222"></a>01222             LOOP6(i);
<a name="l01223"></a>01223         <span class="keywordflow">break</span>;
<a name="l01224"></a>01224 
<a name="l01225"></a>01225     <span class="keywordflow">case</span> AES_KEYSIZE_256:
<a name="l01226"></a>01226         esk[4] = __le32_to_cpu(src_key[4]);
<a name="l01227"></a>01227         esk[5] = __le32_to_cpu(src_key[5]);
<a name="l01228"></a>01228         esk[6] = __le32_to_cpu(src_key[6]);
<a name="l01229"></a>01229         esk[7] = t = __le32_to_cpu(src_key[7]);
<a name="l01230"></a>01230         <span class="keywordflow">for</span> (i = 0; i &lt; 6; ++i)
<a name="l01231"></a>01231             LOOP8(i);
<a name="l01232"></a>01232         LOOP8_TOPHALF(i);
<a name="l01233"></a>01233         <span class="keywordflow">break</span>;
<a name="l01234"></a>01234     }
<a name="l01235"></a>01235 
<a name="l01236"></a>01236     dsk[0] = esk[cnt + 24];
<a name="l01237"></a>01237     dsk[1] = esk[cnt + 25];
<a name="l01238"></a>01238     dsk[2] = esk[cnt + 26];
<a name="l01239"></a>01239     dsk[3] = esk[cnt + 27];
<a name="l01240"></a>01240 
<a name="l01241"></a>01241     cnt += 24;
<a name="l01242"></a>01242 
<a name="l01243"></a>01243     <span class="keywordflow">for</span> (i = 4; i &lt; cnt; ++i) {
<a name="l01244"></a>01244         j = cnt + (i &amp; 3) - (i &amp; ~3);
<a name="l01245"></a>01245         IMIX_COL(dsk[j], esk[i]);
<a name="l01246"></a>01246     }
<a name="l01247"></a>01247 
<a name="l01248"></a>01248     <span class="keywordflow">return</span> 1;
<a name="l01249"></a>01249 }
<a name="l01250"></a>01250 
<a name="l01251"></a>01251 NV_IMPL <span class="keywordtype">void</span> __aes_encrypt(uint32_t* esk, <span class="keywordtype">size_t</span> cnt,
<a name="l01252"></a>01252                             uint32_t* dst, uint32_t* src)
<a name="l01253"></a>01253 {
<a name="l01254"></a>01254     uint32_t b0[4], b1[4];
<a name="l01255"></a>01255     <span class="keyword">const</span> uint32_t *kp = esk + 4;
<a name="l01256"></a>01256 
<a name="l01257"></a>01257     b0[0] = __le32_to_cpu(src[0]) ^ esk[0];
<a name="l01258"></a>01258     b0[1] = __le32_to_cpu(src[1]) ^ esk[1];
<a name="l01259"></a>01259     b0[2] = __le32_to_cpu(src[2]) ^ esk[2];
<a name="l01260"></a>01260     b0[3] = __le32_to_cpu(src[3]) ^ esk[3];
<a name="l01261"></a>01261 
<a name="l01262"></a>01262     <span class="keywordflow">if</span> (cnt &gt; 24) {
<a name="l01263"></a>01263         F_NROUND(b1, b0, kp);
<a name="l01264"></a>01264         F_NROUND(b0, b1, kp);
<a name="l01265"></a>01265     }
<a name="l01266"></a>01266 
<a name="l01267"></a>01267     <span class="keywordflow">if</span> (cnt &gt; 16) {
<a name="l01268"></a>01268         F_NROUND(b1, b0, kp);
<a name="l01269"></a>01269         F_NROUND(b0, b1, kp);
<a name="l01270"></a>01270     }
<a name="l01271"></a>01271 
<a name="l01272"></a>01272     F_NROUND(b1, b0, kp);
<a name="l01273"></a>01273     F_NROUND(b0, b1, kp);
<a name="l01274"></a>01274     F_NROUND(b1, b0, kp);
<a name="l01275"></a>01275     F_NROUND(b0, b1, kp);
<a name="l01276"></a>01276     F_NROUND(b1, b0, kp);
<a name="l01277"></a>01277     F_NROUND(b0, b1, kp);
<a name="l01278"></a>01278     F_NROUND(b1, b0, kp);
<a name="l01279"></a>01279     F_NROUND(b0, b1, kp);
<a name="l01280"></a>01280     F_NROUND(b1, b0, kp);
<a name="l01281"></a>01281     F_LROUND(b0, b1, kp);
<a name="l01282"></a>01282 
<a name="l01283"></a>01283     dst[0] = __cpu_to_le32(b0[0]);
<a name="l01284"></a>01284     dst[1] = __cpu_to_le32(b0[1]);
<a name="l01285"></a>01285     dst[2] = __cpu_to_le32(b0[2]);
<a name="l01286"></a>01286     dst[3] = __cpu_to_le32(b0[3]);
<a name="l01287"></a>01287 }
<a name="l01288"></a>01288 
<a name="l01289"></a>01289 NV_IMPL <span class="keywordtype">void</span> __aes_decrypt(uint32_t* dsk, <span class="keywordtype">size_t</span> cnt,
<a name="l01290"></a>01290                             uint32_t* dst, uint32_t* src)
<a name="l01291"></a>01291 {
<a name="l01292"></a>01292     uint32_t b0[4], b1[4];
<a name="l01293"></a>01293     <span class="keyword">const</span> uint32_t *kp = dsk + 4;
<a name="l01294"></a>01294 
<a name="l01295"></a>01295     b0[0] = __le32_to_cpu(src[0]) ^ dsk[0];
<a name="l01296"></a>01296     b0[1] = __le32_to_cpu(src[1]) ^ dsk[1];
<a name="l01297"></a>01297     b0[2] = __le32_to_cpu(src[2]) ^ dsk[2];
<a name="l01298"></a>01298     b0[3] = __le32_to_cpu(src[3]) ^ dsk[3];
<a name="l01299"></a>01299 
<a name="l01300"></a>01300     <span class="keywordflow">if</span> (cnt &gt; 24) {
<a name="l01301"></a>01301         I_NROUND(b1, b0, kp);
<a name="l01302"></a>01302         I_NROUND(b0, b1, kp);
<a name="l01303"></a>01303     }
<a name="l01304"></a>01304 
<a name="l01305"></a>01305     <span class="keywordflow">if</span> (cnt &gt; 16) {
<a name="l01306"></a>01306         I_NROUND(b1, b0, kp);
<a name="l01307"></a>01307         I_NROUND(b0, b1, kp);
<a name="l01308"></a>01308     }
<a name="l01309"></a>01309 
<a name="l01310"></a>01310     I_NROUND(b1, b0, kp);
<a name="l01311"></a>01311     I_NROUND(b0, b1, kp);
<a name="l01312"></a>01312     I_NROUND(b1, b0, kp);
<a name="l01313"></a>01313     I_NROUND(b0, b1, kp);
<a name="l01314"></a>01314     I_NROUND(b1, b0, kp);
<a name="l01315"></a>01315     I_NROUND(b0, b1, kp);
<a name="l01316"></a>01316     I_NROUND(b1, b0, kp);
<a name="l01317"></a>01317     I_NROUND(b0, b1, kp);
<a name="l01318"></a>01318     I_NROUND(b1, b0, kp);
<a name="l01319"></a>01319     I_LROUND(b0, b1, kp);
<a name="l01320"></a>01320 
<a name="l01321"></a>01321     dst[0] = __cpu_to_le32(b0[0]);
<a name="l01322"></a>01322     dst[1] = __cpu_to_le32(b0[1]);
<a name="l01323"></a>01323     dst[2] = __cpu_to_le32(b0[2]);
<a name="l01324"></a>01324     dst[3] = __cpu_to_le32(b0[3]);
<a name="l01325"></a>01325 }
<a name="l01326"></a>01326 
<a name="l01327"></a>01327 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l01328"></a>01328 <span class="preprocessor"></span>}
<a name="l01329"></a>01329 <span class="preprocessor">#endif </span><span class="comment">/* #ifdef __cplusplus */</span>
<a name="l01330"></a>01330 
</pre></div></div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>全部</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>数据结构</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>文件</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>函数</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>变量</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>类型定义</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>宏定义</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated at 2015年七月16日 星期四 12:00:37 for Navo Portable Library by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>
